Sublime Text使用入門7——個性化

Sublime Text 是能夠高度定製個性化的,在接下來的話題中,將會闡述如何定製以適配你的需求。html

設置

Sublime Text將配置數據保存在 .sublime-settings 文件中.在複雜系統中使用設置是很靈活的.然而,這裏有一條簡單規則:sublime-text

要將配置文件放到 Packages/User文件夾下以保證其凌駕於其餘可能發生衝突的配置文件之上.session

有了這樣的約定,接下來讓咱們來揭開如何個性化定製的祕密.編輯器

文件格式

配置文件是JSON格式的且後綴名爲 .sublime-settings。spa

文件類型

每個.sublime-settings文件的做用由它們的名稱決定. 它們多是描述性的 (例如 Preferences (Windows).sublime-settings 或 Minimap.sublime-settings), 或者與設置文件所控制的具備相關性.例如,文件類型設置須要帶上定義文件類型的.tmLanguage 語法名稱. 所以:操作系統

定義在Python.tmLanguage中的.py 文件類型 , 相應的設置文件被稱做Python.sublime-settings.code

此外, 一些設置文件只會應用到特定的平臺. 這能夠從文件名中看出端倪: Preferences (Windows).sublime-settings,Preferences (Linux).sublime-settings, 等等.orm

重要: 在Packages/User文件夾下的Platform-specific設置文件將會被忽略. 這樣的話, 就能夠肯定單個Platform-specific設置文件會覆蓋其餘的設置文件.htm

如何訪問和編輯公用設置文件

除非你須要很是細粒度的控制設置, 不然你只須要經過Preferences | Settings - UserPreferences | Settings - More菜單項來訪問主配置文件便可. 編輯Preferences - Settings Default 並非一個很明智的作法, 由於每一次軟件升級都會還原你的更改. 可是你能夠參考這個文件: 它包含了全部全局變量和文件類型設置的註釋說明.ci

 .sublime-settings文件的優先級順序

同一個設置文件 (such as Python.sublime-settings)能夠出如今多個地方. 全部命名相同的文件設置將會合併到一塊兒而且後續的規則會覆蓋前面的規則. 參考 Merging and Order of Precedence瞭解更多.

再一次強調:Packages/User中的最終設置文件將會覆蓋前面定義的其餘同名文件。

除了設置文件, Sublime Text還包含session 數據—當前正在編輯特殊設置的文件的設置. Session數據隨着你所操做的文件更新, 所以不管你以任何方式調整特定文件的設置 (mainly through API calls),它們將會記錄在session中而且優先級位於一切.sublime-settings 文件之上.

爲了檢查特定編輯的文件的設置值, 在console中使用view.settings().get(<setting_name>).

最後, 值得注意的是一些設置會自動調整.下面展現的是Sublime Text在Windows中處理假設層次的Python文件的次序:

  • Packages/Default/Preferences.sublime-settings

  • Packages/Default/Preferences (Windows).sublime-settings

  • Packages/User/Preferences.sublime-settings

  • Packages/Python/Python.sublime-settings

  • Packages/User/Python.sublime-settings

  • Session data for the current file

  • Auto adjusted settings

全局編輯器和文件設置

這些設置保存在 Preferences.sublime-settings 和 Preferences (<platform>).sublime-settings 文件中. 默認的在Packages/Default中.

<platform> 的有效名稱是 Linux, OSX, 和 Windows.

文件類型設置

若是你想要指向特定的文件類型, 將 .sublime-settings文件命名爲特定的文件類型語法定義便可.例如,若是語法定義爲Python.tmLanguage, 咱們我要將設置文件叫作Python.sublime-settings.

特定文件類型的設置文件一般在特定的包中, 像 Packages/Python, 但同一文件類型的多個設置文件可能位於不一樣的位置.

相似全局設置, 能夠創建特定操做系統的文件類型. 例如, Python (Linux).sublime-settings只在Linux系統下有效.

此外, 在Packages/User下, 只有Python.sublime-settings 將會被讀取, 而不是任何其餘變種 Python (<platform>).sublime-settings文件.

不考慮位置, 全部特定文件類型設置文件優先於全部全局設置文件的文件類型設置.

如何保存用戶設置

不管什麼時候你想要保存設置, 尤爲是須要在軟件更新以前保存的時候,須要將相應的.sublime-settings文件保存到Packages/User目錄.

快捷鍵

參閱Reference for key bindings 瞭解完整的快捷鍵設置文檔.

文件格式

快捷鍵設置定義在.sublime-keymap 文件中. 爲了在各個平臺上更加智能, Linux,OSX和Windows上的快捷鍵映射是不同的. 只有每一個平臺相應的快捷鍵纔會被加載.

示例

下面是Windows下默認的快捷鍵映射的一個片斷摘要:

[
        { "keys": ["ctrl+shift+n"], "command": "new_window" },
        { "keys": ["ctrl+o"], "command": "prompt_open_file" }
]

定義和覆蓋默認快捷鍵映射

Sublime Text 附帶了默認的快捷鍵映射 (例如, Packages/Default/Default (Windows).sublime-keymap). 爲了覆蓋默認定義的快捷鍵, 或者添加新的快捷鍵, 能夠將單獨的快捷鍵映射以更高的優先級保存起來,例如保存到Packages/User/Default (Windows).sublime-keymap文件中.

參閱 Merging and Order of Precedence 瞭解更多關於Sublime Text合併的次序.

高級快捷鍵綁定

簡單的快捷鍵綁定包含一個鍵和一個要執行的命令.此外,還有更多複雜的語法:

傳入參數

指定參數傳入args:

{ "keys": ["shift+enter"], "command": "insert", "args": {"characters": "\n"} }

這裏, 當按下Shift+Enter的時候\n 傳入 insert 命令.

上下文

上下文環境決定一個給定的快捷鍵綁定在當前插入符號的位置仍是其餘場景有效.

{ "keys": ["escape"], "command": "clear_fields", "context":
        [
                { "key": "has_next_field", "operator": "equal", "operand": true }
        ]
}
相關文章
相關標籤/搜索