設置 Sublime Text 的 Python 開發環境
最近,當我主要使用Python開發環境編輯的時候,我開始越來越多地用到Sublinme Text 2.這篇文章主要說明了能讓Python的編程者使用更方便的一些設置和調整。
為何選擇Sublime Text?
我以前一直是TextMate的忠實用戶。這是一個輕量級的、開源的軟件,作為OS X的本地應用,具有很好的Mac風格。不過,雖然TextMate是一個很棒的編輯器,有時候還是顯得功能不夠。
我用過一些功能更強的軟件,例如 加上Python插件的IntelliJ IDEA。 我特別喜歡它的debugger和test runner。不過,一個像IntelliJ這樣的全功能的IDE對于中小項目來說還是顯得過于龐大。
最近幾周我開始越來越多的使用 Sublime Text。當我將它安裝好之后,感覺非常不錯。它確實非常快,自動定期的更新,以及更棒的是完全支持跨平臺。對我來說,它最終勝過TextMate的地方是Sublime強大的插件子系統。對于Python開發,有不少插件可以讓你開發起來更流暢、更有樂趣。
我現在仍然在不同的項目之間切換編輯器。不過我發現對應Python開發,Sublime在輕量級的編輯器和全功能的IDE之間有著很好的平衡。
字體的選擇
Ubuntu Mono 是非常非常不錯的字體。前些天我剛從 Menlo 切換過來,這絕對不讓人后悔。
在我的15寸的MacBook上,Ubuntu Mono的16號字非常適合。1680 × 1050的分辨率對于一個邊欄加兩個編輯器窗口(自動調整到80個字符寬)剛好合適。
如果你打算認真的挑選一下字體, slant.co的這篇文章 寫的不錯。它包含了大部分流行的編程方面的字體的截圖及下載鏈接。
安裝插件
正如之前提到的, Sublime 有一個非常豐富的插件系統。而我當前使用的插件如下:- Package Control 在 Sublime 里直接安裝附加插件的包管理器。這是唯一一個你必須手動安裝的插件。這邊列出的其他所有插件都可以通過 Package Control 來安裝。也可以通過它來更新已安裝過的插件。簡單得想做是 Sublime packages 的 apt-get 就行了。
- Color Scheme - Tomorrow Night Color schemes 決定了編輯器界面語法高亮的字體顏色。這是一個非常酷的暗黑系樣式。
- Theme - Soda Dark Themes 影響 Sublime 界面元素的顏色和風格。這個非常適合 Tomorrow Night 的配色方案。
- SideBarEnhancements 這個插件提供了側邊欄附加的上下文菜單選項,例如"New file","New Floder"等。這些本應當默認就該有的,卻沒有。
- All Autocomplete Sublime 默認的自動完成只關注當前文件的單詞。這個插件擴展了其自動完成的單詞列表到所有打開的文件。
- SublimeCodeIntel 為部分語言增強自動完成功能,包括了 Python 。這個插件同時也可以讓你跳轉到符號定義的地方,通過按住 alt 并點擊符號。非常方便。
- SublimeREPL 允許你在編輯界面直接運行 Python 解釋器。我傾向于在單獨的終端窗口用 bpython 來運行,但有時 SublimeREPL 是很有幫助的。
- GitGutter 在編輯器的凹槽區,依照 Git ,增加小圖標來標識一行是否被插入、修改或刪除。在 GitGutter 的 readme 中有說明如何更改顏色圖標來更新你的配色方案文件。
- Pylinter 這個插件提供了目前我所見到的最好的 pylint 編輯器整合。它自動檢查 .py 文件,無論其何時被保存,并且會直接在編輯界面顯示 pylint 違規。它還有一個快捷方式來禁用局部的 pylint 檢查,通過插入一個 #pylint: 禁用注釋。這個插件對于我確實非常有用。 </ul>
配置文件
Sublime Text 的一個優點就是它的所有配置都是簡單的基于 JSON 的配置文件。這使得你可以很容易的將配置轉到另一個系統中。我也見過一些人使用 Dropbox 自動同步他們所有電腦上的配置。
Preferences.sublime-settings 配置了 Sublimede 的顯示和行為.你可以在sublime 中通過 Preferences > Settings — User 打開并編輯此文件。我使用如下配置:
{ // Colors "color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme", "theme": "Soda Dark.sublime-theme",// Font "font_face": "Ubuntu Mono", "font_size": 16.0, "font_options": ["subpixel_antialias", "no_bold"], "line_padding_bottom": 0, "line_padding_top": 0, // Cursor style - no blinking and slightly wider than default "caret_style": "solid", "wide_caret": true, // Editor view look-and-feel "draw_white_space": "all", "fold_buttons": false, "highlight_line": true, "auto_complete": false, "show_minimap": false, // Editor behavior "scroll_past_end": false, "highlight_modified_tabs": true, "find_selected_text": true, // Word wrapping - follow PEP 8 recommendations "rulers": [ 72, 79 ], "word_wrap": true, "wrap_width": 80, // Whitespace - no tabs, trimming, end files with \n "tab_size": 4, "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "ensure_newline_at_eof_on_save": true, // Sidebar - exclude distracting files and folders "file_exclude_patterns": [ ".DS_Store", "*.pid", "*.pyc" ], "folder_exclude_patterns": [ ".git", "__pycache__", "env", "env3" ]
}</pre>
Pylinter.sublime-settings配置了pylinter 插件。我使用下面的配置讓 Pyhton 在保存時自動規范,并對違反規范顯示圖標。
{ // Configure pylint's behavior "pylint_rc": "/Users/daniel/dev/pylintrc",// Show different icons for errors, warnings, etc. "use_icons": true, // Automatically run Pylinter when saving a Python document "run_on_save": true, // Don't hide pylint messages when moving the cursor "message_stay": true
}</pre>
按鍵綁定
Sublime 的按鍵綁定也是全部可配置的基于JSON的 sublime-keymap 配置文件。我修改了一些默認配置以更好的配合我的 TextMate / IntelliJ 肌肉記憶。你可以完全不修改。如果你想,修改很簡單,并可以跨平臺使用。我使用如下的綁定:
[ // Rebind "go to file" to cmd+shift+O { "keys": ["super+shift+o"], "command": "show_overlay", "args": { "overlay": "goto", "show_files": true }},// Rebind swap line up/down to cmd+shift+up/down { "keys": ["super+shift+up"], "command": "swap_line_up" }, { "keys": ["super+shift+down"], "command": "swap_line_down" }, // Delete a line with cmd+delete { "keys": ["super+backspace"], "command": "run_macro_file", "args": { "file": "Packages/Default/Delete Line.sublime-macro" }}, // Reindent selection with cmd+alt+L { "keys": ["super+alt+l"], "command": "reindent"}
]</pre>
命令行工具
同 TextMate 的 mate 類似,Sublime Text 包含了一個命令行工具,允許你通過 shell 打開編輯器。工具名為 sublis,默認不可用。要使之生效,在任一 shell 中運行下面:
ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl要將 Sublime 作為 git 互動命令的默認編輯器使用——舉例,撰寫提交信息——只需添加下面一行到你的 ~/.profile 文件:
export GIT_EDITOR="subl --wait --new-window"更多靈感
我希望這篇安裝指南能夠幫到你。如果你有任何建議或意見,敬請 推ter 我一行或給我發郵件。另外,感謝下面的作者及其關于配置 sublime 的作品。它們啟發了我很多: