代碼編輯器Sublime Text 3學習所得

1.前言

Sublime Text 3 是一個輕量、簡潔、高效、跨平臺的編輯器。

本文旨在總結我使用 Sublime Text 3 的所得,我的環境是:

  • Windows 10
  • Ubuntu 18.04

2.安裝

安裝Sublime Text 3非常簡單,在 http://www.sublimetext.com/3 下載對應版本。

  • Windows版都是傻瓜式的“下一步”,這裏就不贅述。
  • Linux版下載後解壓即可使用,類似:
# cd /opt/
# wget https://download.sublimetext.com/sublime_text_3_build_3176_x64.tar.bz2
# tar jxvf sublime_text_3_build_3176_x64.tar.bz2
# ./sublime_text_3/sublime_text

3.使用手冊

在Sublime Text軟件菜單Help > Documentation中可以查看在線官方幫助手冊,這是英文的。

中文可以參考:

4.Ubuntu 中文輸入

在 Ubuntu 安裝好 Sublime Text 3 之後,會無法輸入中文(注:Windows不存在該問題)。

網上的解決方案都是基於 sublime-text-imfix 方案。

該方案通過執行其中的 sublime-imfix 腳本來解決問題,sublime-imfix 腳本其實做了以下幾個事情:

  1. 檢查你是否安裝了 Sublime Text 3,沒有則提示安裝。
  2. 檢查你是否安裝了 Fcitx 輸入法,沒有則提示安裝。
  3. 拷貝 libsublime-imfix.so 庫到 Sublime Text 3 安裝目錄下。注意:32bit機器得拷貝 libsublime-imfix-32bits.so 文件。
  4. 拷貝 src/subl 腳本文件到 /usr/bin/subl ,通過該腳本啓動的 Sublime Text 3 就能輸出中文了,該腳本的內容如下所示,祕訣就在於指定了LD_PRELOAD環境變量之後,再啓動Sublime Text 3,就能輸入中文了。
#!/bin/sh

export LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so
exec /opt/sublime_text/sublime_text "$@"
  1. 拷貝 src/sublime-text.desktop 桌面快捷鍵方式文件到 /usr/share/applications/ 目錄下,以便通過快捷方式啓動的 Sublime Text 3 也能輸入中文,觀察 src/sublime-text.desktop
    的內容,也很容易看出其祕訣,就是通過 /usr/bin/subl 啓動 Sublime Text 3。

這個方案有個坑,如果 Sublime Text 3 沒有安裝在 /opt/sublime_text/ 目錄下,那 /usr/bin/subl 就不能正常工作。比如,通過Ubuntu 軟件中心安裝的 Sublime Text 3 就是安裝在 /snap/ 目錄下的。網上很多人說該方案不能讓他們的Sublime Text 3輸入中法,我想就是因爲這個坑造成的。

如果你的 Sublime Text 3 不是安裝在 /opt/sublime_text/ 目錄下,那怎麼辦呢,難道非要重裝不可?其實倒也不必,如果真的理解了 sublime-text-imfix 方案背後的原理,我們處理起來就能遊刃有餘。先簡單地說下我的思路:

  1. sublime-text-imfix 中真正有用的就 libsublime-imfix.so 庫文件。
  2. subl 腳本文件很簡單,自己創建即可。
  3. sublime-text.desktop 桌面快捷鍵方式文件,Sublime Text 3 安裝包裏就有現成的,拿來改下,再拷貝到 /usr/share/applications/ 目錄下即可。

以下將 Sublime Text 3 安裝在 /opt/sublime_text_3/sublime_text 目錄演示下:

  • 下載安裝包:
# cd /opt/
# wget https://download.sublimetext.com/sublime_text_3_build_3176_x64.tar.bz2
  • 解壓安裝:
# tar jxvf sublime_text_3_build_3176_x64.tar.bz2
  • 解決中文輸入:
# git clone https://github.com/lyfeyaj/sublime-text-imfix.git
# cp /opt/sublime-text-imfix/lib/libsublime-imfix.so /opt/sublime_text_3/
# vi /usr/bin/subl

subl腳本文件內容如下:

#!/bin/sh

export LD_PRELOAD=/opt/sublime_text_3/libsublime-imfix.so
exec /opt/sublime_text_3/sublime_text "$@"

subl腳本加上可執行權限:

# chmod a+x /usr/bin/subl

至此,就能通過終端使用 subl 命令啓動Sublime Text 3輸入中文了

  • 創建桌面快捷方式
# cp -f /opt/sublime_text_3/sublime_text.desktop /usr/share/applications/

將其中的 /opt/sublime_text/sublime_text 替換爲 /usr/bin/subl

# sed -i 's/\/opt\/sublime_text\/sublime_text/\/usr\/bin\/subl/g' /usr/share/applications/sublime_text.desktop

更正快捷方式圖標,將 Icon=sublime-text 替換爲 Icon=/opt/sublime_text/Icon/256x256/sublime-text.png

# sed -i 's/Icon=sublime-text/Icon=\/opt\/sublime_text\/Icon\/256x256\/sublime-text.png/g' /usr/share/applications/sublime_text.desktop

還可以參考以下文章:
【Ubuntu 18.04 sublime text 3176 安裝、漢化及配置中文輸入】
https://blog.csdn.net/weixin_42508385/article/details/82152393

5.啓動 Sublime Text

5.1命令行啓動

subl file      // 使用Sublime Text打開file文件
subl folder    // 使用Sublime Text打開folder文件夾
subl .         // 使用Sublime Text當前文件夾

5.2右鍵菜單啓動

5.2.1Windows右鍵菜單

Sublime Text 3在安裝時勾選Add to explorer context menu,這樣在右鍵單擊文件時就可以直接使用Sublime Text打開。

但右鍵單擊文件夾時,並沒有出現菜單,然而我們在使用的時候通常需要打開整個項目文件夾,在此記錄下右鍵單擊文件夾也有對應右鍵菜單的方法:

開始 > 運行 > regedit 打開註冊表,先觀察 Sublime Text 3 默認添加的、針對右鍵文件菜單的註冊表信息,註冊表位置如下所示:

\HKEY_CLASSES_ROOT*\shell\Open with Sublime Text

我們只要參考這個即可,新建出針對文件夾的右鍵菜單,按如下步驟:

  1. 在 HKEY_CLASSES_ROOT\Directory\shell 下新建項,命名爲 Open with Sublime Text
  2. 在 計算機\HKEY_CLASSES_ROOT\Directory\shell\Open with Sublime Text 下新建項,命名爲command
  3. 編輯command的值,我的值爲D:\Program Files\Sublime Text 3\sublime_text.exe “%1”,前面的路徑要替換成安裝Sublime Text 3的路徑。
  4. 至此已經設置完成,可以在任意文件夾點擊右鍵使用Sublime Text快速打開了。

5.2.2Ubuntu右鍵菜單

在Ubuntu下新建Sublime Text的右鍵菜單,步驟如下:

  1. 在scripts目錄下新建一個腳本文件,文件名就是右鍵菜單名。
# cd ~/.local/share/nautilus/scripts
# touch 'Open with Sublime Text'
  1. 腳本內容如下:
#! /bin/bash

exec /usr/bin/subl $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
  1. 加上可執行權限:
chmod a+x 'Open with Sublime Text'

重新打開Ubuntu文件管理器,右鍵單擊文件或文件夾,即可看到 腳本 > Open with Sublime Text 菜單。

6.我的設置

可通過Preferences > Settings菜單項訪問設置。左側窗口包含所有默認設置以及每個設置的說明。右側窗口是可以保存自定義的地方。

以下是我的設置:

{
    // 顯示空白字符
    "draw_white_space": "all",

    // 不顯示縮進線
    "draw_indent_guides": false,

    // 在狀態欄中顯示換行符類型(Windows/Unix/Mac)
    "show_line_endings": true,

    // 取消自動換行
    "word_wrap": false,
}

7.我的插件

7.1插件簡介

Sublime Text支持大量插件,如何找到並管理這些插件就成了一個問題,插件管理器 Package Control正是爲了解決這個問題而出現的,利用它我們可以很方便的瀏覽、安裝和卸載Sublime Text中的插件。

由於網絡被牆的原因,Package Control經常會無法使用,網上有人總結了 《解決:Sublime Text3 packagecontrol.io 無法訪問的問題》。實在網絡不通,我們還可以手動安裝插件,即離線安裝。

Sublime Text的插件絕大多數都託管在Github上,我們使用Package Control搜索、安裝插件,實際上就是自動將Github上的插件下載下來,然後放到Sublime Text指定的存放插件的文件夾中。

這裏先統一說明下【在線安裝插件】和【離線安裝插件】的步驟,所有插件安裝都是一樣的步驟,後續文章中不再贅述。

  • 【在線安裝插件步驟】
  1. 先確保已安裝了插件管理器 Package Control,安裝方式見下一章節。
  2. 通過菜單 Preferences > Package Control 打開窗口,點擊 Package Control:Install Package 命令。
  3. 再次彈出輸入框後,輸入插件關鍵字搜索,點擊相應插件即可進行安裝。
  • 【離線安裝插件步驟】
  1. 通過菜單 Preferences > Browse Packages進入Sublime Text的Packages 目錄。
  2. 下載插件到Packages目錄中(有的插件會要求重命名插件文件夾名)。
  3. 重啓Sublime Text即可。
  • 【如何查看已安裝的插件列表】
  1. 先確保已安裝了插件管理器 Package Control,安裝方式見下一章節。
  2. 通過菜單 Preferences > Package Control 打開窗口,點擊 Package Control:List Package 命令,即可列出當前已安裝的插件。

7.2安裝Package Control插件管理器

安裝 Sublime Text 時,默認是沒有安裝Package Control的,可以通過在線和離線兩種方式安裝。

官網:https://packagecontrol.io
其他:https://github.com/wbond/package_control/releases

  • 在線安裝
    通過菜單 Tools > Install Package Control 即可在線安裝。

  • 離線安裝

  1. 進入Sublime Text的Packages 目錄。
  2. 去https://github.com/wbond/package_control/releases下載一個對應版本的zip包。
  3. 解壓zip包到Packages目錄下,並重命名爲Package Control,最後目錄看起來像這樣:Sublime Text 3\Packages\Package Control\
  4. 重啓Sublime Text 3,重啓後會自動安裝Package Control,按Ctrl+`可以在控制檯中查看進度。

7.3安裝ConvertToUTF8插件

Sublime Text 3默認是不支持GBK格式的文件的(打開了會亂碼),爲了顯示中文,需要安裝ConvertToUTF8插件。

通過ConvertToUTF8插件,可以編輯並保存目前編碼不被 Sublime Text 支持的文件,特別是中日韓用戶使用的 GB2312,GBK,BIG5,EUC-KR,EUC-JP 等。

在Windows上,只要安裝ConvertToUTF8插件即可正常顯示中文。但在Linux及OSX,你需要安裝一個額外插件Codecs33(針對 Sublime Text 3)以便ConvertToUTF8能正常工作。如何按照Codecs33插件,見後面章節。

官網:https://packagecontrol.io/packages/ConvertToUTF8
其他:https://github.com/seanliang/ConvertToUTF8

  • 在線安裝
    使用 Package Control 搜索 ConvertToUTF8 進行安裝。

  • 離線安裝

  1. 進入Sublime Text的Packages 目錄。
  2. 下載ConvertToUTF8插件到Packages目錄中:git clone https://github.com/seanliang/ConvertToUTF8
  3. 重啓Sublime Text

7.4安裝Codecs33插件

在Windows上,只要安裝ConvertToUTF8插件即可正常顯示中文,可以不用安裝本插件。

但在Linux及OSX,由於 Sublime Text 3 內嵌的 Python 限制,ConvertToUTF8 可能無法正常工作。你需要安裝Codecs33插件,以便ConvertToUTF8能正常工作。

官網:
其他:https://github.com/seanliang/Codecs33
中文說明:https://github.com/seanliang/Codecs33/blob/master/README.zh_CN.md

  • 在線安裝
    使用 Package Control 搜索 Codecs33 進行安裝。

  • 離線安裝

  1. 進入Sublime Text的Packages 目錄。
  2. 下載 Codecs33 插件到Packages目錄中:git clone https://github.com/seanliang/Codecs33
  3. 重啓Sublime Text。

7.5安裝ChineseLocalizations漢化插件

  • 在線安裝
    使用 Package Control 搜索 ChineseLocalizations 進行安裝。

  • 離線安裝

  1. 進入Sublime Text的Packages 目錄。
  2. 下載 ChineseLocalizations插件到Packages目錄中:git clone -b st3 https://github.com/rexdf/ChineseLocalization.git ChineseLocalizations
  3. 重啓Sublime Text。

8.快捷鍵

不同操作系統的Sublime Text的快捷鍵會有不同,官網幫助文檔中都有詳細說明。所以,當你在網上查到的快捷鍵不起作用時,就要考慮到有可能是不同操作系統造成的。

官方幫助手冊中有列舉出常用的快捷鍵:
https://sublime-text-unofficial-documentation.readthedocs.io/en/latest/reference/keyboard_shortcuts_win.html

以下是我的常用快捷鍵,爲了避免混淆,特此說明,我總結的快捷鍵,是基於Linux系統的。

Sublime Text 3快捷鍵

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章