引言
第一次看到Sublime Text就被其風(fēng)格吸引,配色豐富缺不混亂,多加了解之后發(fā)現(xiàn)其強(qiáng)大遠(yuǎn)不止一個(gè)主題配色那么簡(jiǎn)單...
最近折騰python猜欺,習(xí)慣了IntellJ idea,用了他們家的python IDE——pycharm,體驗(yàn)并沒(méi)有idea好琉闪,體積依然厚重,但是自動(dòng)補(bǔ)全不如ipython砸彬,琢磨使用Sublime Text 3(簡(jiǎn)寫(xiě)ST3)配合插件搭建一個(gè)環(huán)境颠毙,效果不差斯入。
插件篇
package control 便利安裝其他插件,現(xiàn)成教程很多不贅述
SideBarEnhancements 側(cè)邊欄菜單右鍵增強(qiáng)(方便拷貝文件名/路徑蛀蜜,快捷使用指定程序打開(kāi)文件等)(ctrl + k + b打開(kāi)側(cè)邊欄)
Anaconda 它的format刻两,find_usage,show_document都非常好用滴某,安裝了它之后不在需要重復(fù)安裝Python PEP8 Autoformat了(這里只是ST3的插件磅摹,不是那個(gè)非常好用的python發(fā)行版)(最近又安裝了一次anaconda的format失效了,多裝一個(gè)PEP8 autoformat也OK)
文檔:http://damnwidget.github.io/anaconda/#carousel-features
Windows: ST3 -> Preference -> Package setting -> Anaconda -> Setting User
OS X:雷同
在Anaconda.sublime-settings:
{
//由于Anaconda插件本身無(wú)法知道Python安裝的路徑霎奢,所以需要設(shè)置Python主程序的實(shí)際位置
"python_interpreter": "C:/Program Files (x86)/python27/python.exe",
//ST3也有自動(dòng)補(bǔ)全提示户誓,但只提示文件中輸入過(guò)的單詞,這個(gè)功能可用提示變量可用的函數(shù)等幕侠。
"suppress_word_completions": true,
"suppress_explicit_completions": true,
"complete_parameters": true,
//代碼排版時(shí)帝美,行的默認(rèn)長(zhǎng)度太短,根據(jù)喜好設(shè)置
"pep8_max_line_length": 120,
// 自動(dòng)格式化執(zhí)行的時(shí)限晤硕,設(shè)置太短時(shí)悼潭,遇到太多行的文件會(huì)timeout失敗
"auto_formatting_timeout": 5
}
快捷鍵篇
ST3本身就又很多非常好用的快捷鍵,一個(gè)比較全的匯總是
http://www.jqhtml.com/6511.html舞箍, 也可以直接去ST3的設(shè)置中看舰褪。
除去這些之外,為了配合我在IntellJ Idea IDE中的使用習(xí)慣和啟用插件中沒(méi)有快捷鍵的功能疏橄,我自定義以下快捷鍵:
-
鍵盤(pán)-快捷鍵
Windows: Preference -> Key Bindings (右側(cè)用戶設(shè)置中添加如下JSON)
OS X:雷同
Default (Windows).sublime-keymap:
[
//格式化這種頻繁的操作需要一個(gè)快捷鍵
{"command": "anaconda_auto_format", "keys": ["ctrl+alt+l"], "context": [
{"key": "selector", "operator": "equal", "operand": "source.python"}
]},
//快速找到調(diào)用當(dāng)前變量/函數(shù)的位置
{"command": "anaconda_find_usages", "keys": ["ctrl+f7"], "context": [
{"key": "selector", "operator": "equal", "operand": "source.python"}
]},
//不太靈敏占拍,不能反復(fù)重命名同一個(gè)變量,不是命令的問(wèn)題捎迫,使用右鍵也有同樣的效果刷喜,總比肉眼一個(gè)個(gè)替換好,如果有人知道更好的rename插件立砸,求指教啊
{"command": "anaconda_rename", "keys": ["shift+f6"]},
//當(dāng)前行下新增一行掖疮,原為 ctrl+enter
{ "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} },
//這切換到上一次光標(biāo)在的地方,快捷操作離不開(kāi)的功能
{ "keys": ["ctrl+alt+right"], "command": "jump_forward" },
//與上一個(gè)相反
{ "keys": ["ctrl+alt+left"], "command": "jump_back" }
]
-
鼠標(biāo)-快捷鍵
Windows: %appdata%\Sublime Text 3\Packages\User下新建Default (Windows).sublime-mousemap文件
OS X: 雷同颗祝,但是我配置了一次浊闪,并不成功,估計(jì)是和系統(tǒng)的配置沖突了螺戳,待解決
//加入ctrl+單擊 跳轉(zhuǎn)到變量/函數(shù)定義 的快捷方式搁宾,這很IDE。(ST3本身有 跳轉(zhuǎn)到函數(shù)/變量的定義 的功能倔幼,但是需要多操作一步盖腿,快捷鍵ctrl+r)
Default (Windows).sublime-mousemap:
[
{
"button": "button1",
"count": 1,
"modifiers": ["ctrl"],
"press_command": "drag_select",
"command": "anaconda_goto"
}
]
其他設(shè)置
將tab鍵替換為4個(gè)空格,Anaconda會(huì)使用空格格式化,當(dāng)tab和空格一起存在的時(shí)候翩腐,python報(bào) 縮進(jìn)不能識(shí)別錯(cuò)誤鸟款。
Sublime Text -> Preferences -> Settings - User中添加
{
"tab_size": 4,
"translate_tabs_to_spaces": true
// 其他匹配:
"font_size": 9,
"ignored_packages":
[
"Vintage"
],
"word_wrap": true, //自動(dòng)換行,方便看長(zhǎng)文本
"update_check": false
}
小Tips——宏錄制查看Command
在設(shè)置Anaconda插件時(shí)茂卦,遇到很多功能在右鍵何什,每次想用其實(shí)有點(diǎn)麻煩,想配置快捷鍵等龙,但是不知道command指令是什么处渣,查詢了官網(wǎng)沒(méi)有找到,也找插件的日志打印也沒(méi)有找到(求指導(dǎo)~)蛛砰,最后摸索出了用宏錄制的方式查看command罐栈,如果有看官想設(shè)置其他右鍵中功能的快捷鍵,可以試試這個(gè)方式:
-
在Tools中開(kāi)啟宏錄制
使用要查看的功能泥畅,我這里就是右鍵使用Anaconda的rename功能
點(diǎn)擊 Stop Recording Macro 停止錄制
- 點(diǎn)擊 Save Macro 保存宏錄制到一個(gè)文本中
-
打開(kāi)文本荠诬,可以看到錄制過(guò)程中用到的命令,指令名get
- 在設(shè)置中添加command以及對(duì)應(yīng)的快捷鍵 或者 其他什么用都OK了
結(jié)語(yǔ)
配置的東西不多涯捻,但是感覺(jué)很有IDE的feel了浅妆,如果有新發(fā)現(xiàn)會(huì)更新的望迎。
對(duì)于ST3配置有什么更好的建議或者疑問(wèn)歡迎反饋障癌,文中有任何錯(cuò)誤都?xì)g迎打臉 ^ _ ^