文章主要说明了能让Python的编程者使用更方便的一些设置和调整。
Sublime Text简介
Sublime Text是一个很棒的编辑器,支持跨平台,有着强大的插件子系统。对于Python开发,有不少插件可以让你开发起来更流畅、更有乐趣。
我现在仍然在不同的项目之间切换编辑器。不过我发现对应Python开发,Sublime在轻量级的编辑器和全功能的IDE之间有着很好的平衡。
安装插件
正如之前提到的, Sublime 有一个非常丰富的插件系统。而我当前使用的插件如下:
Package Control 在 Sublime 里直接安装附加插件的包管理器。
ChineseLocalizations Sublime系统语言插件,改为中文菜单
ConvertToUTF8 处理中文乱码问题
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 的作品。它们启发了我很多: