文章主要说明了能让Python的编程者使用更方便的一些设置和调整。
Sublime Text简介
Sublime Text是一个很棒的编辑器,支持跨平台,有着强大的插件子系统。对于Python开发,有不少插件可以让你开发起来更流畅、更有乐趣。
我现在仍然在不同的项目之间切换编辑器。不过我发现对应Python开发,Sublime在轻量级的编辑器和全功能的IDE之间有着很好的平衡。
安装插件
正如之前提到的, Sublime 有一个非常丰富的插件系统。而我当前使用的插件如下:
- Package Control 在 Sublime 里直接安装附加插件的包管理器。
- ChineseLocalizations Sublime系统语言插件,改为中文菜单
- SublimeCodeIntel 为部分语言增强自动完成功能,包括了 Python 。这个插件同时也可以让你跳转到符号定义的地方,通过按住 alt 并点击符号。非常方便。
- SideBarEnhancements 这个插件提供了侧边栏附加的上下文菜单选项,例如"New file","New Floder"等。这些本应当默认就该有的,却没有。
- SideBarHider
- SublimeREPL 允许你在编辑界面直接运行 Python 解释器。我倾向于在单独的终端窗口用 bpython 来运行,但有时 SublimeREPL 是很有帮助的。
- SublimeTmpl Sublime模板
- ctags 跨文件跳转,跳转到指定函数声明的地方(ctrl+alt+左键)。
- window 下载 ctags.exe(prdownloads.sourceforge.net/ctags/ctags58.zip,ctags.exe文件放在一个环境变量能访问到的地方),然后在打开的工程目录上运行ctags -R -f .tags生成
- ubuntu下安装运行命令:sudo apt-get install exuberant-ctags
- 在CTags.sublime-setting--User中添加路径:{"command": "C:\\Windows\\System32\\ctags.exe",}
- BracketHighlighter 该插件提供配对标签,或大括号或字符引号的配对高亮显示,算是对系统高亮的加强吧
- Tomorrow Color Schemes Color schemes 决定了编辑器界面语法高亮的字体颜色。这是一个非常酷的暗黑系样式。
- Theme - Soda SolarizedDark Themes 影响 Sublime 界面元素的颜色和风格。这个非常适合 Tomorrow Night 的配色方案。
- All Autocomplete Sublime 默认的自动完成只关注当前文件的单词。这个插件扩展了其自动完成的单词列表到所有打开的文件。
- TortoiseSVN 生成后右键点击文件或文件夹(这个要钱,如果是windows的话用TorstoiseSVN,这个要先预装TorstoiseSVN)
- OmniMarkupPreviewer 支持将标记语言(Markdown仅是其中一种)渲染为 HTML 并在浏览器上实时预览,同时支持导出 HTML 源码文件
- 使用Anaconda进行代码自动校验、修正(按PEP8)
配置文件
Sublime Text 的一个优点就是它的所有配置都是简单的基于 JSON 的配置文件。这使得你可以很容易的将配置转到另一个系统中。我也见过一些人使用 Dropbox 自动同步他们所有电脑上的配置。
Preferences.sublime-settings 配置了 Sublimede 的显示和行为.你可以在sublime 中通过 Preferences > Settings — User 打开并编辑此文件。我使用如下配置:
{ // Colors "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme", "theme": "Soda SolarizedDark.sublime-theme", // Cursor style - no blinking and slightly wider than default "caret_style": "solid", "wide_caret": true, // Font "font_face": "Ubuntu Mono", "font_size": 16.0, "font_options": [ "subpixel_antialias", "no_bold" ], "line_padding_bottom": 0, "line_padding_top": 0, // 折叠,展开选项 "fold_buttons": true, "fade_fold_buttons": false, "highlight_line": true, "auto_complete": true, "show_minimap": true, // Word wrapping - follow PEP 8 recommendations "rulers": [ 72, 79 ], "word_wrap": false, "wrap_width": 80, // Editor view look-and-feel "draw_white_space": "all", // Editor behavior "scroll_past_end": false, "highlight_modified_tabs": true, "find_selected_text": true, // 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, // 不显示的包、文件夹、文件 "ignored_packages": [ "Vintage", "Markdown" ], "folder_exclude_patterns": [ ".git", "__pycache__", "env", "env3", ".svn" ], "file_exclude_patterns": [ ".DS_Store", "*.pid", "*.pyc", ".tags", ".tags_sorted_by_file", "*.exe", ".svn-base" ], }
Anaconda.sublime-settings配置如下:
{ // python运行地址 "python_interpreter": "C:/Python27/python.exe", // AutoComplete设置 "suppress_word_completions":true, "suppress_explicit_completions":true, "complete_parameters":true, // AutoFormatting "auto_formatting": true, "auto_formatting_timeout": 2, "autoformat_ignore": [ "E309", "E501", ], // 是否启用linter "anaconda_linting": false, "anaconda_linting_behaviour": "load-save", // 页面报错 "anaconda_gutter_theme": "simple", "anaconda_linter_mark_style": "outline", "anaconda_gutter_marks": true, "anaconda_linter_underlines": true, "anaconda_linter_phantoms": true, "use_pylint": false, "pylint_ignore": [ "C0111", ], "pep8": true, "pep8_ignore": [ "E309", "E501", "C0111" ], }
按键绑定
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"} ]
命令行工具
同 TextMate 的 mate 类似,Sublime Text 包含了一个命令行工具,允许你通过 shell 打开编辑器。工具名为 sublis,默认不可用。要使之生效,在任一 shell 中运行下面:
ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
更多灵感
我希望这篇安装指南能够帮到你。如果你有任何建议或意见,敬请 Twitter 我一行或给我发邮件。另外,感谢下面的作者及其关于配置 sublime 的作品。它们启发了我很多:
- Kenneth Reitz: Sublime Text 2 Love
- Drew Barontini: Sublime (2)
- Filippo Pacifici: Python development with Sublime Text 2 tips and tricks
- opensourcehacker.org: Sublime Text 2 tips for Python and web developers
本文地址:http://www.oschina.net/translate/setting-up-sublime-text-for-python-development
原文地址:http://dbader.org/blog/setting-up-sublime-text-for-python-development