曾经有人说过,世界上有两种编辑器,好用和不好用的;而在好用的编辑器中,又分两种,免费的和死贵死贵的。譬如说 VIM 和 TextMate,就是免费和死贵的典型。很不幸,今天的主角 Sublime Text 2 也是个死贵死贵的代表,它是一款收费的商业软件,个人授权费高达 59 美刀。
不过大家不用慌,虽然它很贵,但作者很厚道地给用户们提供了免费无限制无限期的试用权,它只会偶尔提醒一下你木有购买,而且频率也很低,仅此而已,一直免费使用下去几乎是没有任何影响的。另外值得一提的是,用户购买一个授权即可同时在不同平台上使用,对于像我这种经常需要在 Mac 和 Win 之间切换使用的用户来说的确能省下一笔钱了。
因为 Sublime Text 2 编辑器的特性和使用技巧实在太过多,本人也未算用得精通,所以无法一一列举展现,只能选几个我认为比较有特色的特点进行介绍,而且这里也没有篇幅去介绍各种编辑技巧、快捷键使用之类的了。如果你愿意花时间折腾一下,你会发现它的能力是远超本文介绍的那么几点的,所以本文只能算是抛砖引玉吧,希望大家有好的技巧可以分享出来。
SublimeText2 支持但不限于 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, Matlab, OCaml, Perl, PHP, Python, R, Ruby, SQL, TCL, Textile and XML 等主流编程语言的语法高亮。ST2 拥有优秀的代码自动完成功能 (自动补齐括号,大括号等配对符号;自动补全已经出现的单词;自动补全函数名),非常智能;另外 ST2 也拥有代码片段(Snippet)的功能,可以将常用的代码片段保存起来,在需要时随时调用。当然,语法高亮、代码折叠、行号显示、自定义皮肤、配色方案等这些已经是一款现代编辑器应有的标配功能了,所以这里就不多做介绍了。
实用方便的代码提示补全功能
Sublime Text 2 在界面上比较有特色的是支持多种布局和代码地图,也提供了 F11 和 Shift+F11 进入全屏免打扰模式,文字难描述,看下图吧。
Sublime Text 2 的各种配置均由配置文件控制,完完全全的可以由用户自定义,如果你愿意折腾,甚至可以将它改得于原版完全不一样的操作体验。看下面的图,Setting - Default 菜单会打开默认的软件配置文件(这个文件会记录一些诸如使用什么字体等很多很多配置信息),Key Bindings - Default 是默认的快捷键配置文件,大家可以打开它们看看原本的一些设置是怎样配置的,但非常不建议直接在这里修改!你可以在 - User 结尾的文件(也就是用户自定义配置的意思)里面照样画葫芦那样来改,如果两边有相同的项目,它会以 - User 文件里面定义的为准。
这个例子里我在 Key Bindings - User 里面的第一行:{ "keys": ["alt+up"], "command": "swap_line_up" }, 意思就是按 Alt+方向键上时将当前选择的那一行向上移(与上一行交换位置),如果语法神马的没问题,保存好这个文件之后马上就可以使用这个快捷键了。
Sublime Text 2 的快捷键还支持双重组合,譬如默认情况下,将选中的文字改成大写的热键是“Ctrl+K, Ctrl+U”,意思是当你先按下 Ctrl+K 之后迅速再按 Ctrl+U 进行触发(只按下Ctrl+K是没有作用的),这样可以避免很多热键冲突,也可以更灵活更多选择地进行热键自定义。不过在这里就不打算教大家怎样修改各种配置或修改热键了,这恐怕能出一个手册的,这里有一个套比较完整的官方文档(鸟语),有兴趣的朋友可以去参考一下。
另外,SublimeText 还有一个值得一提的细节——”编辑状态恢复”,就是当你修改了一个文件,但没有保存,这时退出软件,ST2是不会很烦人地提示你要不要保存的,因为无论是用户自发退出还是意外崩溃退出,下次启动软件后,你之前的编辑状态都会被完整恢复,就像你退出前一样。这个细节我认为非常非常的赞!因为我经常会尝试性地去修改一些地方,但在确保没有问题之前又不想保存,这时如果有些事情打断自己,需要离开时,这个特性就很有用了,直接退出就行,不用烦,下次回来打开软件继续编辑即可。当然,有了这个恢复特性再也不怕系统崩溃、断电了吧,真心让人觉得ST2特别特别的安全可靠,妥妥的啊!
在写代码的过程中,我们经常需要同时编辑多行代码或者多个变量。在 Sublime Text 2 中拥有非常实用的多行操作技巧,灵活运用可以大大提高编辑速度哟!相信日后你可能会这样问自己:“当年没有这种方式的编辑器时我究竟是怎么活过来的?!”
下面是一些我所了解的多行编辑方法:
鼠标选中多行,按下 Ctrl+Shift+L (Command+Shift+L) 即可同时编辑这些行;
鼠标选中文本,反复按 CTRL+D (Command+D) 即可继续向下同时选中下一个相同的文本进行同时编辑;
鼠标选中文本,按下 Alt+F3 (Win) 或 Ctrl+Command+G(Mac) 即可一次性选择全部的相同文本进行同时编辑;
Shift+鼠标右键 (Win) 或 Option+鼠标左键 (Mac) 或使用鼠标中键可以用鼠标进行竖向多行选择;
Ctrl+鼠标左键(Win) 或 Command+鼠标左键(Mac) 可以手动选择同时要编辑的多处文本
类似的技巧还有很多,求大家补充……
Shift+鼠标右键轻松实现多行编辑,批量给变量加前缀了
如果你同时打开了多个文件,或者你的项目里经常需要编辑不同的文件,在文件数量较多的时候,在过去往往需要花费很多的精力去寻找,很是烦人。而现在,Sublime Text 2 里只需按下 Ctrl+P(Win) 或 Shift+Command+P(Mac) 即可调出文件切换面板,接着你只需输入文件名,回车后即可瞬间切换过去!并且它支持模糊匹配,只需输入你记得的一部分即可,譬如我想要找一个“www.iplaysoft.com.php”的文件来编辑,那么你只需要输入“ipl”或者是”ips.c”这样的字符都能匹配出来,这个特性非常非常的棒!
图中 ca 匹配了 capabilities.php 和 classese.php,选择就能快速切换
类似的功能,我只在类似 Eclipse 等大型(笨重)的IDE中才见到过,然而小巧快速的编辑器中,我还是首次遇到。使用这个功能,你除了可以在已打开的文件中切换之外,如果你使用项目管理(将一个文件夹设置成一个项目),它还能懂得去搜索匹配项目文件夹下未被打开过的文件。现在你还需要用鼠标去一个一个点标签页来切换吗?你还要打开“我的电脑”慢慢在各个不同文件夹去找需要编辑的文件吗?使用ST2,你只需输入几个字符即可~只有一句话:前所未有的方便!
使用上面介绍的快速文件切换功能,可以很轻易地打开/切换到自己想要编辑的文档了,但如果这个文件的代码很长很长,想要轻松跳到要编辑的地方又有什么好方法呢? Sublime Text 2 早就帮你想好了,同样是按下前面所说的 Ctrl+P(Win) 或 Shift+Command+P(Mac),这次试试先输入一个 @ 号看看?嗯,好样的!这列表马上帮你罗列出这文件里全部的 Function 了!同样使用模糊匹配,快速输入几个关键字,马上就能定位到那个Function去了!!!在需要不停在多个Function之间跳转的时候这个功能尤显实用~妈妈再也不用担心我找函数找到蛋疼了!当你编辑的是HTML时,这货给你罗列的则是HTML的各个ID元素,相信搞前端的同学们都鸡冻了吧。
Ctrl+P之后输入@号或者 直接按Ctrl+R,即可列出该文件里的全部function
输入@号开始有此般神奇功效,那么再试试输入一个英文冒号 : 开始吧,然后再输入一个数字,嗯,这次则可以跳到指定的行数了;输入一个#号开始,可以罗列/搜索文本;而且你还可以使用更快速的快捷键,譬如快速列出/跳转函数就是 Ctrl+R (Mac下是Command+R),它完全等同于Ctrl+P之后输入@;跳转到指定行号是 Ctrl+G (Mac是Command+G)。
而且更让人叫绝的是,这些切换定位方法你还可以配合在一起使用!譬如我有一个名为”hello-iplaysoft.js”的文件,里面其中有一个function叫做”visit_iplaysoft_com”,我现在想要编辑这个函数,那么我只需按下 Ctrl+P,然后输入“heip@vi”回车(模糊匹配,注意前面有颜色的字符),ST2 马上就给我到打开这个文件并定位进去了!够方便了吧?!熟记这几个快捷键,你可以很一气呵成地进行文件切换和编辑,你会发现世界更美好哦亲……
Sublime Text 2 的一大特色是拥有一个相当强大的命令面板,它几乎无所不能!任何时候,按下 Ctrl+Shift+P(Win) 或 Command+Shift+P(Mac) 即可调出。利用它,你可以实现很多很多很多很多很多功能,例如“Set Syntax:PHP”即可将当前文档设置成PHP语法高亮;“Convert Case: Swap Case”可以将选中的文本大小写反转;“File: Save All”可以一次保存全部文件;“File: Close All”一次关闭全部文件等等……而且,这里的列表一样支持模糊匹配(这货真心是个好东西啊!)。因为这里面命令实在太多了,覆盖的作用范围也很广,我这里实在不能一一介绍,大家如果有兴趣,可以经常调个面板出来看看列表中都有些什么命令,多多去了解、尝试、再慢慢消化,相信它会让你再也离不开它。
强大的命令面板,可以在这里调用一切SublimeText提供的功能
Sublime Text 2 除了自身拥有无数实用功能和特性之外,它还能安装使用各种扩展/皮肤/配色方案等来增强自己。现在介绍的这个 Package Control 可以看做是一个ST2的扩展管理器,使用它,你可以用非常神奇、非常简单方便的方法去下载、安装、删除 Sublime Text 2 的各种插件、皮肤等,相信我,想更好地使用 ST2 绝对不能没有它!不过 ST2 本身并没有自带这个工具,我们需要自行安装它,方法很简单:
1、在 SublimeText2 的目录里面找到 Data > Installed Packages 的文件夹 (如没有请手动新建)
2、在这里下载 Package Control.sublime-package 文件
3、将下载到的文件放进去 Installed Packages 里面
4、重新启动 Sublime Text 即可
如果 Package Control 已经安装成功,那么 Ctrl+Shift+P 调用命令面板,我们就会找到一些以“Package Control:”开头的命令,我们常用到的就是几个 Install Package (安装扩展)、List Packages (列出全部扩展)、Remove Package (移除扩展)、Upgrade Package (升级扩展)。但如果你按照上面的方法确实搞不定,可以试试按键盘 Ctrl+~ (数字1左边的按键)调出控制台,然后拷贝下面的代码进去并回车,它会自动帮你新建文件夹并下载文件的,与上面的方法最终效果是一样的:
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'
成功安装 Package Control 之后,在命令面板里会出现以其命名开头的一系列命令
在命令面板输入 “Package Control: Install Package“即会列出全部可以安装的扩展(必需连接网络,如下图),从列表可以看到,4GL、AAAPackageDev 那些就是插件的名称,选择它们就可以进行下载安装了。从该列表可以看到,目前ST2的各种扩展已经非常丰富了!此外,你还可以在这里看到 Web 版的扩展列表和详细的说明(这俩列表的数据应该是同步的。在截稿为止 2012-7-8,这里已经收集了482个扩展包了)
我这里以安装“JsFormat”插件为例,简单介绍一下 SublimeText 里面怎样安装与使用插件吧。JsFormat 的功能就是可以将一些凌乱的 JavaScript 代码重新排版,以方便更好地阅读与编辑。使用 Ctrl+Shift+P 调用命令面板,输入“Package Control: Install Package”(安装扩展包),在插件列表中选择安装“JsFormat”(可以输入字符过滤),待提示成功之后即已完成安装。随便打开一个js文件(最好是换行、对齐特别凌乱的那种),按下 Ctrl+Shift+P 调用命令面板,你会发现已经多了一项命令叫做“Format: Javascript”,如图:
使用 JSFormat 插件的 Format: Javascript 命令
使用之后,你的代码瞬间就变整齐了有木有!你也可以使用这个插件的热键“CTRL+ALT+F”进行整理(命令面板右方可以看到)。
使用 JSFormat 之后的 JS 代码效果,注意上图的JS代码是一堆的
当然,不同的扩展,使用的方法与表现的形式都不一样,这个就只能去web版查一下这个插件的一些具体的使用说明了,这里是不能一概而论的。不过大体上,安装和使用插件就是这么的简单。通过各种插件,你几乎可以实现任何你想要的功能。而且 ST2 也开放了插件API,如果你有能力,也可以试试开发一个,可以参考这里的API文档。本文后面会推荐一些实用的插件。
如果你看腻了 SublimeText 的原版皮肤,也可以折腾一下换肤的。譬如下图是一款比较流行的主题 Theme - Soda,和安装插件基本上一样,使用 Package Control 进入 Install Package 的列表里面找到它进行安装即可。你也可以在网上找到一些 ST2 的主题,下载回来放到安装目录的 Data\Packages 文件夹里面,然后选择切换主题。配色方案的操作也是类似,大家自己研究研究吧,这里不多做介绍了。
另外,SublimeText 还有很给力的一点,就是它能原生支持 TextMate 的 Bundle 和配色方案,同样也是放在 Packages 文件夹里即可使用。TextMate 的 Bundle 和配色方案资源都比较丰富,网上可以找到不少。
Gits:可以轻松集成 GitHub
SFTP:直接编辑 FTP 或 SFTP 服务器上的文件
ZenCoding:这货对于前端的同学来说不得了,可以超快速编写HTML文件 (视频演示)
ConvertToUTF8:ST2只支持utf8编码,该插件可以显示与编辑 GBK, BIG5, EUC-KR, EUC-JP, Shift_JIS 等编码的文件
Clipboard History:剪切板历史
WordPress:集成一些WordPress的函数,对于像我这种经常要写WP模版和插件的人特别有用!
HtmlTidy:清理与排版你的HTML代码
PHPTidy:整理与排版PHP代码
YUI Compressor:压缩JS和CSS文件
因为 SublimeText 是绿色软件,用户的自定义配置、下载的插件等都是位于软件目录内的,所以一旦你配置好之后,使用 Dropbox、金山快盘之类的同步网盘进行同步(无网络的朋友用U盘也行),去到哪里运行都是自己的配置,非常方便!以后大家在不同的电脑上工作相信也能很顺手了。
另外,很多朋友反映表示打开中文会有乱码,其实是因为ST2本身只支持UTF-8编码,而我们常遇到的中文文件可能是GBK或者GB2312等编码,解决方法是安装一个 ConvertToUTF8 或者 GBK Encoding Support 插件即可完美解决,这个并不是什么大问题。
之前我一直使用的编辑器是 EditPlus,至少有4年+了吧,主要的原因是它的启动迅速和长久以来使用已经习惯了,但这次在试用后我毫不犹豫叛变到 SublimeText2 来了!从各种使用体验来说,ST2 给人最多的感觉就是“快”和“流畅”。“快”就像 Chrome 浏览器与其他一般浏览器的比那样,启动速度让人非常满意;“流畅”就是当你熟悉了它的一些快捷操作之后,编辑文档时那种不需打乱思绪的行云流水般的操作,非常让人有成就感!作为一款功能、扩展性如此强大,可配置性如此自由的软件,能做到速度如此之快实属极致了,想想看那些大型笨重的IDE们吧,你就恨不得马上去告诉所有人世界上还有 SublimeText 这样的神器~
Sublime Text 2 比 TextMate 在跨平台和软件更新上有很大优势,比另一款同样是神器级别的编辑器 VIM 入门又简单得多,比各大IDE又要轻巧快速,比网上大部分的编辑器功能和扩展性上要强,而且暗色系的界面也很酷很讨好人,可以说是目前除VIM、emacs外又一个代码编辑器的最佳选择了!(更现代更先进的界面比VIM更适合普通用户)
当然,一款的极致的编辑器就像小说里的绝世宝剑,从的适应到灵活运用需要很长时间的坚持、学习和尝试。建议大家多多了解和学习它的各种快捷键,那样写代码就像开极品飞车啊有木有。目前我也只是刚入门,很多技巧、快捷键和特性都还没用得上来,所以希望各界高手不吝赐教,多与我共享一些 ST2 的实用技巧与教程吧,不胜感激!
将Sublime Text 2搭建成一个好用的IDE
说起编辑器,可能大部分人要推荐的是Vim和Emacs,本人用过Vim,功能确实强大,但是不是很习惯,之前一直有朋友推荐SUblime Text 2这款编辑器,然后这段时间就试了一下,就深深地喜欢上这款编辑器了,对于类似的编辑器,我用过notepad2、notepad++、Editplus、UltraEdit、Vim、TextPad,都没有觉得哪一款编辑器用得非常上手,直到遇到Sublime Text 2,之前写Python脚本时,也一直在苦苦寻找一款好用的IDE,用过WingIDE、Ulipad、Pycharm、Eclipse+Pydev、PyScrypter,没有哪款非常中意的,直到遇到了Sublime Text 2,今天就来讲一下如何将Sublime Text 2打造成一款好用的IDE,虽然它只是一款编辑器,但是它有丰富的扩展插件,足以让我们把它变成好用的IDE。
一.下载和安装
Sublime Text2是一款开源的软件,不需要注册即可使用(虽然没有注册会有弹窗,但是基本不影响使用)。
下载地址:http://www.sublimetext.com/,请自行根据系统版本进行下载。下载好之后直接安装即可。
默认的sublime的配置文件是在C盘目录下的,如果有朋友觉得放C盘不习惯,那么在安装好sublime之后,不要直接运行sublime,在地址栏里输入%appdata%,然后删除该目录下的sublime text 2文件夹,然后在sublime的安装目录下建立一个名为Data的文件夹,再运行sublime,以后关于sublime的所有配置文件都在Data目录下了。
如果有朋友不习惯其英文界面,可以使用汉化包进行汉化,我把汉化包上传到博客空间了,需要的朋友可以进行下载。
汉化包地址:http://files.cnblogs.com/dolphin0520/sublime%E6%B1%89%E5%8C%96.rar
汉化方法:
1.运行sublime text 2;
2.选择“preferences”—>“Browse packages”;
3.找到文件夹“Default”,将解压得到的文件复制到“Default”文件夹下覆盖即可。
下面是汉化后的运行界面:
关掉sublime的更新提示:
sublime默认的情况会有更新提示弹出框,可以把通过设置关闭更新提示,方法:
选择 “preferences”—>“Browse packages”,找打Default文件夹下的Preferences.sublime-settings,在最下面加一行(注意要先在前一行最后面加一个逗号):
"update_check":false
保存退出重新启动sublime即可。
二.一些常用的设置和快捷键
1.字体、主题风格等设置
当需要更改主题时,直接可以通过“preferences”—>“颜色主题”来设置:
主界面上只能改变字体的大小:
若需要改变字体和字体大小,可以先”preferences“—>”Browse Packages“,找到”Default“文件夹,然后找到Preferences.sublime-settings这个文件,用Sublime Text 2打开这个文件,这个文件保存了一些常用的设置,
比如字体、主题风格、是否显示行号、智能提示延迟时间等,可以根据自己的需要自行设置。
2.打开(关闭)侧边栏、右边缩略图等常用面板
默认情况下Sublime Text 2是没有打开侧边栏文件浏览器的,可以通过”查看“—>”侧边栏“—>”隐藏侧边栏“来打开和关闭侧边栏
默认情况下Sublime Text 2右边是有文件的缩略图的,可以通过”查看“—>”隐藏迷你地图“来打开和关闭缩略图。
3.快捷键寻找文件和已定义的函数
在Sublime Text 2中可以非常快速地切换到想找的文件,只需要通过”Ctrl+P“打开切换面板即可。
然后输入想找的文件名称就可以快速找切换到该文件了。如果想要找函数,可以通过输入”@+函数名“可以快速切换到定义该函数的文件。
三.一些必备的插件。
下面来介绍一些Sublime Text 2中必备的常用插件。
Sublime Text 2安装的插件和所有预置的插件全部在Packages文件下,可以直接通过”preferences“—>”Browse Pakcages“来访问。
Sublime Text 2安装插件有两种方法:
1)离线安装,先下载好安装包,解压之后放到Packages文件夹下,重启Sublime即可。
2)在线安装,在线安装之前,需要安装”Packages Control“这个包管理插件,安装方法是:
选择”查看“—>”显示控制台“,然后在下面弹出的框中输入:
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
然后回车确认,安装完毕之后重启sublime,如果发现在Perferences中看到package control这一项,则安装成功。
然后就可以通过”Ctrl+Shift+P“打开命令面板,输入”install“命令,就可以看到安装包列表了。
下面推荐几款必备的常用插件:
1.Tag插件
Tag插件可以为web开发者提供html和css标签,很方便快捷,对于web前端设计者非常实用。
2.Prefixr插件
为css3提供一些前缀,比如
3.Terminal插件
Terminal插件可以允许在Sublime Text2中打开cmd命令窗口,很实用的一个插件,安装好该插件好,打开cmd命令窗口的快捷键是
Ctrl+Shift+T。
4.SublimeTmpl插件
这个插件允许用户定义文件的模板,比如在写一个html文件时,老是重复文件头的一些引入信息很繁琐,可以定义一个模板直接生成必须的信息,具体的SublimeTmpl插件用法请自行百度。
5.SideBarEnhancements插件
一个增强侧边栏文件夹浏览功能的插件,比较不错。
6.DocBlockr插件
用来生成注释块的插件,安装好之后直接输入"/*",然后再按回车键,即可生成代码注释块。
7.SublimeCodeIntel插件
智能提示插件,这个插件的智能提示功能非常强大,可以自定义提示的内容库,我的Python智能提示设置(配置文件路径为packages\SublimeCodeIntel-master\.codeintel\config)为:
{ "Python": { "python":'D:/Program Files/Python26/python.exe', "pythonExtraPaths": ['D:/Program Files/Python26','D:/Program Files/Python26/DLLs','D:/Program Files/Python26/Lib','D:/Program Files/Python26/Lib/plat-win','D:/Program Files/Python26/Lib/lib-tk','D:/Program Files/Python26/Lib/site-packages'] } }
其中“pythonExtraPaths”就是需要智能提示所需要用到的内容库。
8.AndyPython插件
一款针对Python语言的智能提示插件,其需要提示的关键字和函数可以在Packages\AndyPython\PythonCompletions.py中设置。
9.AndyJS2插件
一款针对Javsscript和jquery智能提示的插件。
10.jquery插件
jquery提示库。
11.Ctags插件
该插件可以实现快速定位到函数定义的地方。
12.为了避免打开含中文字符的文件出现乱码,需要先安装GBK Encoding Support这个插件,再安装ConvertToUTF8插件即可。
如果有朋友觉得没有注册有时候会有弹窗比较讨厌,这里介绍一种破解办法:
用一种十六进制编辑器(我这里用的UltraEdit)打开sublime text 2安装目录下的文件sublime_text.exe,在此之前最好备份一下,如果没有破解成功可以恢复,然后定位到000CBB70这一行,找到8A C3,将其修改为B0 01,然后保存即可,这是破解注册成功的界面:
关于Sublime Text 2暂时只介绍这么多了,对一些插件感兴趣的朋友可在github上查找相关资料就行了,让我们一起体验sublime text2的便捷之处吧。