给用 Python 的 web 开发者的 Sublime Text 2 小贴士
=================================================
原文: ``_
译者: `TheLover_Z `_
Sublime Text 2 是一个很强大的编辑器,最近开始获得了很高的人气 - 这不是没有理由的。它是商业软件。Sublime Text 2 有很多支持 Python 的插件。虽然核心部分保持封闭但围绕着这个编辑器还是形成了 `活跃的插件生态系统 `_ 。
*提示:你可以免费使用 Sublime 。它只是会提示你“请购买”而已。*
这是我使用 Sublime 这么久以来发现的小技巧。我是站在在 OS X 视角来写的,但在 Linux 和 Windows 平台这些技巧应该也适用。
我以前是 Eclipse 的死党。虽然 Sublime 并没有像 Eclipse 那么强大,但是我发现 Sublime 最近的几个版本让我用起来是相当的舒服。最大的原因就是 Eclipse 要求文件夹和文件必须引入到所谓的 “Eclipse space” 下面。
Sublime 用起来更舒适。当你需要使用不同的工具和工程的时候,Sublime 比 Eclipse 更直观易懂。
插件管理
-----------
`Sublime 插件包管理 `_ 。你按照这样的步骤就可以安装任何插件了。它可以自动帮你使用云端(或者 Github)的资源安装。
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.04.05-AM.png
:alt: Sublime 插件包管理
在插件包管理安装以后你可以按 CMD + SHIFT + P 来添加新的包。
从命令行打开文件
------------------
我在我的 `.rc` 文件添加了下面的命令,然后我就可以在终端直接打开文件了
::
alias subl="'/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'"
alias nano="subl"
export EDITOR="subl"
从命令行打开文件夹
--------------------
你也可以在 Sublime Text 打开文件夹。
就像这样:
::
subl src
然后整个 src/ 文件夹就会被打开。
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.03.02-AM.png
:alt: 在 Sublime 中打开文件夹
*提示:一个文件夹 = 一个项目 = 一个窗口?我不确定是不是还有办法让一个窗口显示多个项目*
使用更聪明的 tab 配置
----------------------
永远不要使用硬 tab 字符。
点击 *View > Indentation > Convert Indentation to Spaces* 然后确定 *Indent using spaces* 是被勾选的。新版本的 Sublime 应该会根据文件类型记住这个设置。
注意 `Sublime 会试图自动检测所有打开的文件的 tab 设置 `_ ,所以处理外部文件的时候要小心。使用 git 的 pre-commit 来预防出现这种情况。
你也可以配置通过 Preferences 菜单的配置文件来 `实现 `_ ,但是尝试了好多次以后还是失败了。
使用特定的语法高亮
-------------------
如果你有一个文件你想要使用特定的高亮,比如说你想对 ZCML 文件使用 XML 的高亮方式。
打开文件,然后 *View > Syntax >Open all with current extension as… ->[你想要的语法选择]*
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.01.03-AM.png
:alt: 语法高亮的选择
查看更多关于语法高亮的 `资料 `_ 。
语法匹配检查
------------
`SublimeLinter `_ 会在你键入的时候在后台扫描你的文件以保证正确性。请查看 README 的 Configuration 部分。不过你可能需要安装额外的软件(比如 Node.js)来保证功能的完整性。
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-1.48.41-AM.png
:alt: 语法匹配
使用 CodeIntel 自动补全支持
-------------------------------
从插件包管理器安装 CodeIntel。
如果你正在处理 Python 项目,这个代码就可以:
::
[codeintel]
recipe = corneti.recipes.codeintel
eggs = ${instance:eggs}
extra-paths = ${omelette:location}
然后就会自动生成 ``.codeintel`` 文件。
CodeIntel 假定在你的项目根目录下面有 ``.codeintel`` 文件,键入:
::
subl .
来打开文件夹。
现在 Sublime 应该支持自动补全了。比如说你键入
::
from zope.interface import <--- 这时候就应该蹦出来自动补全选项了
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-1.57.41-AM1.png
:alt: 自动补全
而且,ALT + 鼠标左键可以把你带到 ``import`` 或者函数的声明部分。
CodeIntel 也支持 PHP, Ruby, JS, 这里只列出一小部分。
快速到达任何地方
----------------
按下 CMD + P,键入文件名的一小部分,就可以提示你全路径。非常强大的一个特性。
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.08.51-AM.png
:alt: 快速到达任何地方
使用 CTRL + G 来到达任意行。
文件内上下文敏感搜索
----------------------
针对 JS, CSS, Python 等语言设计。按下 CMD + R。输入你需要查找的内容,就会自动跳转到声明部分。
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.12.41-AM.png
:alt: 文件内搜索1
或者 Python:
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.29.11-AM.png
:alt: 文件内搜索2
HTML/XML 标签工具
-------------------
针对 XML 的语法,Sublime Text 提供了一些必杀技。
用插件包管理器安装 ``Tag`` 。然后你就可以:
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.13.31-AM.png
:alt: 标签工具
选择文本然后按下 CMD + SHIFT + P 搜索标签。然后就会一目了然,你也可以配置你自己风格的偏好。
git
---------
你可以使用 kemayo 的 `git 插件 `_ ,也是从插件包管理器安装。
.. image:: http://opensourcehacker.com/wp-content/uploads/2012/05/Screen-shot-2012-05-11-at-2.18.06-AM.png
:alt: git支持
还未解决的问题
----------------
- `怎么编辑注释和增加新行同时保持注释闭合 `_
- `更好的 restructed/markdown 语法高亮支持 `_
- 在 Sublime 窗口运行 Plone 或者单元测试,用鼠标点击可以跟踪到相关的错误行