之前用過不少類型的代碼/文本編輯器杯聚,能夠一舉解決我所有編輯需求的工具還真是少之又少幌绍。曾經(jīng)堅持用了三個月的Vim故响,還整理了一份vimrc在這彩届。但是Vim學(xué)習(xí)曲線實在太陡樟蠕,爬不上去,只好轉(zhuǎn)向這款號稱“性感無比”的代碼編輯器Sublime Text歼冰,又說“程序員必備神器”耻警。一入手才發(fā)現(xiàn)甘穿,簡直是相見恨晚温兼。今天偷空寫下我的配置心得妨托,以饗各位看官。
我個人喜歡Sublime Text的原因主要有四:跨Windows/Linux/Mac平臺,輕量敦腔,安裝插件方便符衔,編輯體驗極其流暢判族。平時的編輯需求包括形帮,常規(guī)的文本編輯和瀏覽辩撑,用Markdown寫文章合冀,寫Python和Java代碼君躺。接下來我也主要圍繞這四類需求來簡要介紹我的Sublime Text最基本的配置情況。
Sublime Text 有兩個版本朝抖,ST3是Beta版治宣,但是至今沒覺得有什么影響使用的bug侮邀,我用的是Sublime Text 3 绊茧。
插件安裝
Sublime Text 插件安裝很簡單华畏,一般有兩種方式亡笑。
離線安裝
- 下載插件仑乌。
- 解壓后晰甚,放入
Packages
目錄中厕九。找到Packages
目錄的簡單方法是在Sublime Text 3 的Preferences
菜單中選擇Browse Packages
扁远。 - 重啟 Sublime Text 3.
在線安裝
Sublime Text 有一個Packages的管理插件穿香,Sublime Package Control皮获。通過 Sublime Package Control纹冤,安裝购公、升級和卸載 Package 也變得輕松寫意了宏浩。
打開 Sublime Text 3比庄,按下
Control + '
調(diào)出 Console佳窑。-
將以下代碼粘貼進(jìn)命令行中并回車:
import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())
-
Sublime Text 2 請使用以下代碼:
import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
重啟 Sublime Text 3,如果在
Preferences -> Package Settings
中見到Package Control
這一項溉委,就說明安裝成功了瓣喊。
通過Package Control 來安裝插件:
- 按下
Shift + Command + P
調(diào)出命令面板型宝。 - 輸入
install
調(diào)出Package Control: Install Package
選項趴酣,按下回車岖寞。 - 輸入插件名稱并回車仗谆,稍等幾秒就安裝好了隶垮,有的插件可能需要重啟Sublime Text才能激活狸吞。
常規(guī)配置
每個人的編輯習(xí)慣不一樣蹋偏,作為輕微強迫癥患者威始,我喜歡給自己的編輯器做一些設(shè)置黎棠,例如文件編碼葫掉,主題,字體户魏,字體大小,顯示行號鸠信,設(shè)置Tab大小星立,空格替換制表绰垂,顯示空白符劲装,顯示80字符打印線等等占业。我的初級Settings-User內(nèi)容如下谦疾。
{
"font_size": 12,
"ignored_packages":
[
"Vintage"
],
"font_face": "Consolas",
// 設(shè)置tab的大小為4
"tab_size": 4,
// 使用空格代替tab
"translate_tabs_to_spaces": true,
// 添加行寬標(biāo)尺
"rulers": [80, 100],
// 顯示空白字符
"draw_white_space": "all",
// 保存時自動去除行末空白
"trim_trailing_white_space_on_save": true,
// 保存時自動增加文件末尾換行
"ensure_newline_at_eof_on_save": true,
// 默認(rèn)編碼格式
"default_encoding": "UTF-8"
}
下面是一些我配置的常規(guī)插件念恍。
- IMESupportsublime text 有個BUG樊诺,那就是不支持中文的鼠標(biāo)跟隨(和PS類似輸入的光標(biāo)和文字候選框不在一起),IMESupport可以完美解決這個問題词爬。
- SideBarEnhancementsSideBarEnhancements 是一款很實用的右鍵菜單增強插件顿膨,有以 diff 形式式顯示未保存的修改恋沃、在文件管理器中顯示該文件囊咏、復(fù)制文件路徑梅割、在側(cè)邊欄中定位該文件等功能户辞,也有基礎(chǔ)的諸如新建文件/目錄底燎,編輯双仍,打開/運行殊校,顯示为流,在選擇中/上級目錄/項目中查找敬察,剪切莲祸,復(fù)制锐帜,粘貼缴阎,重命名蛮拔,刪除畦韭,刷新等常見功能艺配。
- ConvertToUTF8通過本插件妒挎,您可以編輯并保存目前編碼不被 Sublime Text 支持的文件酝掩,特別是中日韓用戶使用的 GB2312期虾,GBK镶苞,BIG5茂蚓,EUC-KR聋涨,EUC-JP 等牍白。ConvertToUTF8 同時支持 Sublime Text 2 和 3茂腥。
-
Terminal這個插件可以讓你在Sublime中直接使用終端打開你的項目文件夾最岗,并支持使用快捷鍵
Control + Shift + T
惶楼。 -
Git這個插件會將Git整合
進(jìn)你的SublimeText,使的你可以在SublimeText中運行Git命令晨汹,包括添加淘这,提交文件铝穷,查看日志曙聂,文件注解以及其它Git功能宁脊。 - GitGutter在編輯器的凹槽區(qū),依照 Git 坐漏,增加小圖標(biāo)來標(biāo)識一行是否被插入赊琳、修改或刪除慨畸。在 GitGutter 的 readme中有說明如何更改顏色圖標(biāo)來更新你的配色方案文件寸士。
- BracketHighlighter可以使括號高亮匹配弱卡,這個需要自己來配置配色方案婶博。我的配置方案見最后(Bracket settings-User和主題文件Monokai Extended.sublime-package添加的代碼)凡人。
- Monokai Extended比較喜歡Soda Dark和Monokai传睹,這里有Monokai Extended欧啤。這個 color scheme 是 Monokai Soda 的增強邢隧。如果再配合 Markdown Extended冈在,將大大改善 Markdown 的語法高亮倒慧。
配置Markdown書寫環(huán)境
Markdown Extended一款Markdown高亮主題,安裝后在右下角的語言欄選擇Markdown Extended激活這種語言高亮包券,也可以在
Control + shift + p
啟用set syntax:markdown extended-
Markdown previewSublime Text 提供了對Markdown語言的支持迫靖,Markdown preview可實現(xiàn)Markdown轉(zhuǎn)換HTML并預(yù)覽的功能兴使。
Control + B
生成HTML文檔系宜,Alt + m
可直接在瀏覽器打開。配置快捷鍵方式如下发魄。{ "keys": ["alt+m"], "command": "markdown_preview", "args": { "target": "browser"} }
配置Python編輯環(huán)境
SublimeTmplSublime Text 新建文件的模板插件盹牧。模板支持自定義
attr
(在settings-user里設(shè)置)。-
SublimeCodeIntel為部分語言增強自動完成+成員/方法提示功能励幼,包括了 Python 汰寓。這個插件同時也可以讓你跳轉(zhuǎn)到符號定義的地方,通過按住 alt 并點擊符號苹粟。非常方便有滑。支持所有Komodo Editor 支持的語言類型(需要自行配制)
JavaScript, Mason, XBL, XUL, RHTML, SCSS, Python, HTML, Ruby, Python3, XML, Sass, XSLT, Django, HTML5, Perl, CSS, Twig, Less, Smarty, Node.js, Tcl, TemplateToolkit, PHP.
此處僅介紹配置python.
選擇Preferences-->Browser Packages...
進(jìn)入相關(guān)的目錄SublimeCodeIntel\.codeintel
找到config.修改配置文件config。添加:{ "Python": { "python":'D:/Program Files/Python26/python.exe', "pythonExtraPaths":['D:\Python34','D:\Python34\DLLs','D:\Python34\Lib','D:\Python34\Lib\site-packages','D:\Python34\libs'] } }
配置Java編輯環(huán)境
前提
JDK已經(jīng)安裝好嵌削,Java環(huán)境已配置好毛好。
配置編譯環(huán)境
-
在%Sublime Text 安裝目錄
%/package/
中找到Java.sublime-package
,用好壓或者其他壓縮軟件打開(重命名為rar
文件雙擊就可以打開)望艺,在里面找到JavaC.sublime-build
并打開。里面添加:{ "shell_cmd": "runJava.bat \"$file\"", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java", //添加下面一段可支持編譯中文肌访,親測Java可用 "encoding": "GBK" }
-
在java的
JDK/bin
路徑下找默,新建一個文件,命名為runJava.bat
吼驶,里面內(nèi)容為:@ECHO OFF cd %~dp1 IF EXIST %~n1.class ( DEL %~n1.class ) javac -encoding UTF-8 %~nx1 IF EXIST %~n1.class ( java %~n1 )
-
寫一個Hello world 測試代碼惩激,使用
Control + B
運行之。public class test{ public static void main(String[] args) { System.out.println("Hello world!"); } }
附錄
BracketHighlighter配置
Bracket settings-User
{
"bracket_styles": {
// This particular style is used to highlight
// unmatched bracket pairs. It is a special
// style.
"unmatched": {
"icon": "question",
"color": "brackethighlighter.unmatched",
"style": "highlight"
},
// User defined region styles
"curly": {
"icon": "curly_bracket",
"color": "brackethighlighter.curly",
"style": "highlight"
},
"round": {
"icon": "round_bracket",
"color": "brackethighlighter.round",
"style": "outline"
},
"square": {
"icon": "square_bracket",
"color": "brackethighlighter.square",
"style": "outline"
},
"angle": {
"icon": "angle_bracket",
"color": "brackethighlighter.angle",
"style": "outline"
},
"tag": {
"icon": "tag",
"color": "brackethighlighter.tag",
"style": "outline"
},
"single_quote": {
"icon": "single_quote",
"color": "brackethighlighter.quote",
"style": "outline"
},
"double_quote": {
"icon": "double_quote",
"color": "brackethighlighter.quote",
"style": "outline"
},
"regex": {
"icon": "regex",
"color": "brackethighlighter.quote",
"style": "outline"
}
}
}
Monokai Extended.sublime-package添加的代碼
<!-- BEGIN Bracket Highlighter plugin color modifications -->
<dict>
<key>name</key>
<string>Bracket Default</string>
<key>scope</key>
<string>brackethighlighter.default</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFFFFF</string>
<key>background</key>
<string>#A6E22E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Unmatched</string>
<key>scope</key>
<string>brackethighlighter.unmatched</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFFFFF</string>
<key>background</key>
<string>#FF0000</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Curly</string>
<key>scope</key>
<string>brackethighlighter.curly</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF00FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Round</string>
<key>scope</key>
<string>brackethighlighter.round</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#E7FF04</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Square</string>
<key>scope</key>
<string>brackethighlighter.square</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FE4800</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Angle</string>
<key>scope</key>
<string>brackethighlighter.angle</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#02F78E</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Tag</string>
<key>scope</key>
<string>brackethighlighter.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FFFFFF</string>
<key>background</key>
<string>#0080FF</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bracket Quote</string>
<key>scope</key>
<string>brackethighlighter.quote</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#56FF00</string>
</dict>
</dict>
<!-- END Bracket Highlighter plugin color modifications -->
本文源鏈接:http://zhenchen.me/technology/2014/11/05/sublime-text-introduction.html