Sublime Text 2 入门及技巧

Sublime Text 2 入门及技巧

看了 Nettuts+ 对 Sublime Text 2 的介绍,马上就兴奋了,诚如做者 Jeffrey Way 所说:“《永远的毁灭公爵》都发布了,TextMate 2 还没发”,你还能期望它么?TextMate 开发者的消极态度已经没法让人忍受了。而做为一款跨 OS X、Linux 和 Windows 三大系统平台的文字编辑器,Sublime Text 2 功能日进,大有取 TextMate 而代之的势头,php

如下就将 Nettuts+ 的这篇文章作一粗略翻译,当然不是面面俱到,用作入门倒是足够了。如下均是以 Mac 版本为主,但对 Windows 和 Linux 版来讲也是相通的。html

内容列表
换个耐看点些的图标
尝试开发版本
快捷的命令面板
即时的文件切换
为所欲为的跳转
多重选择(Multi-Selection)
缩进指示(Indent Guide)
安装包控制(Package Control)
对齐
Vim 模式
无干扰模式(Distraction Free Mode)
TextMate Bundle
主题
命令行工具
总结

换个耐看点些的图标

更新:更多可用替换图标git

Sublime Text 2 目前还处于测试阶段,默认的黑方块图标看起来实在不够养眼,Nate Beaty 制做了一个不错的替代品github

Mac 下的替换方法:web

  •  应用程序 目录中找到 Sublime Text 2,按住 Ctrl 并点击之,在弹出的菜单中选择“显示包内容”。
  • 进入 Contents/Resources/ 目录,用新下载的图标替换 Sublime Text 2.icns

尝试开发版本

Sublime Text 2 目前更新十分活跃,若是想要尝试最新的功能,建议下载并安装 dev 版本。正则表达式

下载 Sublime Text 2 Dev 版vim

 

快捷的命令面板

和 TextMate 相似,Sublime Text 2 也提供了很方便的命令调用方式:Command Palette(命令面板)。调用方法:直接在 Tool 菜单中选择 Command Palette,或是用快捷键:Shift + Command + P,输入命令名称(中的字母)就能够实时搜索到相应的命令、选项、snippet 和 syntex, 按下回车就能够直接执行,减小了查找的麻烦。sublime-text

即时的文件切换

按下 Command + P(Mac) 或是 Ctrl + P(Windows),输入想要切换到的文件的文件名,都不用按下回车键,目标文件就已经展示在眼前了,虽然 Vim 配合 PeepOpen 也能够实现一样的功能,但速度却远没有这么迅速。浏览器

为所欲为的跳转

Cmd+P 之因此被叫作 Goto Anything 并非虚名:markdown

  •  Command+P 能够快速跳转到当前项目中的任意文件,可进行关键词匹配。
  •  Command+P 后 @ (或是Command+R)能够快速列出/跳转到某个函数(很爽的是在 markdown 当中是匹配到标题,并且仍是带缩进的!)。
  •  Command+P 后 # 能够在当前文件中进行搜索。
  •  Command+P 后 : (或是Ctrl+G)加上数字能够跳转到相应的行。
  • 而更酷的是你能够用 Command+P 加上一些关键词跳转到某个文件同时加上 @ 来列出/跳转到目标文件中的某个函数,或是同时加上 # 来在目标文件中进行搜索,或是同时加上 : 和数字来跳转到目标文件中相应的行。

多重选择(Multi-Selection)

多重选择功能容许在页面中同时存在多个光标,让不少原本须要正则表达式、高级搜索和替换才能完成的任务也变得游刃有余了。看看 Nettut+ 提供的实例可能更为直观一些:

激活多重选择的方法有几种:

  • 按住 Command 或 Alt,而后在页面中但愿中现光标的位置点击。
  • 选择数行文本,而后按下 Shift + Command + L
  • 经过反复按下 Control/Command + D 便可将全文中与光标当前所在位置的词相同的词逐一加入选择,而直接按下 Alt+F3(Windows) 或是 Ctrl+Command+G(Mac) 便可一次性选择全部相同的词。
  • 按下鼠标中键来进行垂直方向的纵列选择,也能够进入多重编辑状态。

缩进指示(Indent Guide)

更新:缩进指示已经被集成进 Sublime Text 2 中,不须要安装插件了。

缩进指示这个小功能可让代码的层级关系更加清晰,在 Sublime Text 2 中,能够经过一个插件来实现这个功能。

安装方法:

  • 下载 IndentGuides 插件。
  • 解压后,将文件夹重命名为 Indent Guides,并放入 Packages 目录中。找到 Packages 目录的简单方法是在 Sublime Text 2 的 Preferences 菜单中选择 Browse Packages
  • 重启 Sublime Text 2

安装包控制(Package Control)

上一条中的安装插件的方法是否是很麻烦呢?其实和 TextMate 可安装 Bundle、Plugin 同样,Sublime Text 2 也拥有良好的扩展功能,这就是安装包(Package);一样,就像 TextMate 有用来安装、升级、卸载 Bundle 的 GetBundles 同样,Sublime Text 2 也有其用来进行 Package 控制的插件:Sublime Package Control。经过 Sublime Package Control,安装、升级和卸载 Package 也变得轻松写意了。

安装 Package Control 的方法:

更新(2013-08-17):更新了针对 Sublime Text 2 和 Sublime Text 3 的安装代码。

  • 打开 Sublime Text 2,按下 Control + ` 调出 Console
  • 将如下代码粘贴进命令行中并回车:

    import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')
  • Sublime Text 3 请使用如下代码:

    import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

  • 重启 Sublime Text 2,若是在 Preferences -> Package Settings中见到Package Control这一项,就说明安装成功了。

使用 Package Control 安装 Package 的方法将在后面用到的地方详述。

对齐

对于某些喜欢整齐的码农来讲,看到下面这种状况多是让其没法忍受的:

var joe = 'joe';
var johnny = 'johnny';
var quaid = 'quaid';

必定要改为这样才会安心:

var joe    = 'joe';
var johnny = 'johnny';
var quaid  = 'quaid';

TextMate 里也有这样的功能(Option + Command + ])能够自动实现以上的对齐过程,而在 Sublime Text 2 之中,一个 Sublime Alignment 插件也能够轻松实现。

如下就经过 Package Control 来安装这个插件:

  1. 按下 Shift + Command + P 调出命令面板。

  2. 输入 install 调出 Package Control: Install Package 选项,按下回车。

  3. 在列表中找到 Alignment,按下回车进行安装。

  4. 重启 Sublime Text 2 使之生效。如今经过选中文本并按下 Shift + Command + A Ctrl + Command + A 就能够进行对齐操做了。

经过这个方法就能够简便的安装更多的插件,虽然目前的安装源中插件并非不少,但相信之后会更加丰富的。

Vim 模式

是的,Sublime Text 2 dev 版已经支持 Vim 的编辑模式了,若是更喜欢 Vim 的编辑模式,能够经过如下方法来激活 Vintage mode:

  1. 按下 Shift + Command + P 调出命令面板。

  2. 输入 settings user 调出 Preferences:Settings - User,并按下回车。

    以上两步也能够直接用cmd + ,完成。

  3. 这时会打开一个 Preferences.sublime-settings 的文件,若是是第一次修改,它应该是个空文件,把如下文本粘贴进去:

    {
        "ignored_packages": []
    }
  4. 保存这个文件,这时按下 ESC 键,再按下一些你熟悉的 Vim 命令,是否是颇有亲切感?

无干扰模式(Distraction Free Mode)

如今的编辑器若是没有一个无干扰模式彷佛都说不过去了,在 Sublime Text 2 中,只要按下Control + Shift + Command + F 或是在菜单 View 中选择 Enter Distraction Free Mode 就能够进入这个 UI 最小化模式了。若是是在用 Mac OS X Lion 的话,Sublime Text 2 还同时支持 Lion 的原生全屏模式。

经过修改 “Preferences” -> “File Settings - More” -> “Distraction Free - User” 能够对防干扰模式进行一些设置:

{
    "line_numbers": false,      //是否显示行号
    "gutter": false,            //是否显示边列
    "draw_centered": true,      //是否居中显示
    "wrap_width": 80,           //换行宽度(单位:字符)
    "word_wrap": true,          //是否自动换行
    "scroll_past_end": true     //滚动可否超过结尾
}

TextMate Bundle

Sublime Text 2 很给力的一点就是它同时支持一些 TextMate 的 Bundle。

Sublime Text 2 对于 TextMate Bundle 中的 Snippet 有着良好的原生支持,把 Bundle 放到 Packages 目录里就能用。但对 Bundle 中的 command 并不支持,此外,TextMate 的色彩主题 [1] 也是能够放到 Packages 目录里直接用的。估计随着 Sublime Text 2 愈来愈火,会有更多 TextMate 的 Bundle 被移植过来。

主题

这里所讲的主题不一样于针对代码的 Color Scheme,是指针对 Sublime 程序自己的主题,目前能够安装的是 Ian Hill 的 Soda

由于源中已经添加,因此这款主题的安装一样能够经过 Package Control,很是方便。目前 Soda 主题提供了明暗两种风格。

激活方法,一样要修改 Preferences:Settings - User:

  1. 按下 Shift + Command + P 调出命令面板。

  2. 输入 user settings 调出 Preferences:Settings - User,并按下回车。

    themetheme

  3. 添加如下代码激活 Soda Light 主题:

    {
        "theme": "Soda Light.sublime-theme"
    }

    添加如下代码激活 Soda Dark 主题:

    {
        "theme": "Soda Dark.sublime-theme"
    }
  4. 保存生效。

命令行工具

和 TextMate 和 MacVim 同样,Sublime Text 2 也提供了很方便的命令行工具以方便经过终端来快速的调用 Sublime Text 2 程序来打开文件/目录/项目等。

要使用命令行工具,你须要建立一个符号连接,在终端(Terminal.app)中运行:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

而后运行 subl --help 能够查看 subl 命令的使用方法:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
使用: subl [参数] [文件] 编辑指定文件
或: subl [参数] [目录] 打开指定目录
或: subl [参数] - 编辑 stdin
 
可用参数:
--project <项目>: 读取指定项目
--command <命令>: 运行指定命令
-n --new-window: 打开新窗口
-a --add: 向当前窗口中添加文件夹
-w --wait: 等待文件关闭后再返回
-b --background: 不激活程序窗口
-s --stay: 关闭文件后保持程序窗口激活
-h --help: 显示此帮助
-v --version: 显示版本号
 
读取 stdin 时会使用 --wait 参数。经过 --stay 能够在文件关闭后不返回终端(仅针对单个文件)。
 
能够经过向文件名添加 `:行号` `:行号:列号` 后缀来打开到更具体的位置。

 

总结

在试用 Sublime Text 2 的过程当中,“”和“”是给 Lucifr 最强烈的感觉,就如同 Chrome 浏览器同样,Sublime 的各类操做都给人以很流畅的感觉。良好的中文支持也是 TextMate 所不具有的,虽然以目前的插件数量和质量还不能彻底替代 TextMate,但仍是让人十分期待的。惟一让人纠结的是价格,$59 的注册价确实不便宜(明显是照着 TextMate 的 $58 加一块定的嘛),好在目前测试阶段还能够无限试用。

相关文章
相关标签/搜索