代码编辑器或者文本编辑器,对于程序猿来说,就像剑与战士一样,谁都想拥有一把能够随心驾驭且瑞丽无比的宝剑,而每一位程序猿,相同会去追求最适合自己的强大、灵活的编辑器,相信你和我一样,都不会例外。

我用过的编辑器不少,真不少~ 但却没有哪款让我特别心仪的,直到我遇到了 Sublime Text 2 !假设说“神器”是我能给予一款软件最高的评价,那么我非常乐意为它封上这么一个称号。它小巧绿色且速度非常快,跨平台支持Win/Mac/Linux,支持32与64位,支持各种流行编程语言的语法高亮、代码补全等,但它有着非常多其它编辑器没有的超酷的特性,让它的好用达到了前所未有的程度……

关于 Sublime Text 2:



以前有人说过,世界上有两种编辑器,好用和不好用的;而在好用的编辑器中,又分两种,免费的和死贵死贵的。譬如说 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,你仅仅需输入几个字符就可以~仅仅有一句话:前所未有的方便!

随心所欲的跳转:高速罗列与定位函数/HTML的元素、跳转到指定行



使用上面介绍的高速文件切换功能,能够非常轻易地打开/切换到自己想要编辑的文档了,但假设这个文件的代码非常长非常长,想要轻松跳到要编辑的地方又有什么好方法呢? Sublime Text 2 早就帮你想好了,相同是按下前面所说的 Ctrl+P(Win) 或 Shift+Command+P(Mac),这次试试先输入一个 @ 号看看?嗯,好样的!这列表立即帮你罗列出这文件中所有的 Function 了!相同使用模糊匹配,高速输入几个keyword,立即就能定位到那个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提供的功能

Package Control(绝不可错过的扩展包管理器)



Sublime Text 2 除了自身拥有无数有用功能和特性之外,它还能安装使用各种扩展/皮肤/配色方案等来增强自己。如今介绍的这个 Package Control 能够看做是一个ST2的扩展管理器,使用它,你能够用很奇妙、很easy方便的方法去下载、安装、删除 Sublime Text 2 的各种插件、皮肤等,相信我,想更好地使用 ST2 绝对不能没有它!只是 ST2 本身并没有自带这个工具,我们须要自行安装它,方法很easy:

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 server上的文件

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 插件就可以完美解决,这个并非什么大问题。

相关文件下载地址:



官方站点:訪问

软件性质:收费 + 免费无限试用

視頻演示:点击打开链接

Sublime Text 2 介紹的更多相关文章

  1. Sublime Text 套件介紹:Pretty JSON

    JSON,一個輕量級的資料交換語言,目前許多網站AJAX request的回應結果都是JSON格式   以下是一個標準的JSON格式   1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  2. Sublime Text 套件介紹(四):Pretty JSON

    JSON,一個輕量級的資料交換語言,目前許多網站AJAX request的回應結果都是JSON格式   以下是一個標準的JSON格式   { "firstName": " ...

  3. 用Razor語法寫範本-RazorEngine組件介紹【转——非常好,可以用它来代替NVelocity】

    RazorEngine 官網網址:http://razorengine.codeplex.com 在找到RazorEngine之前曾經想過其他的方案,如T4與V8 Engine載jquery.temp ...

  4. sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境(原创)

    首先看一下配置后的效果: 1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用): 2.在cmd中运行结果(需要从键盘输入的时候使用): 快捷键说明: 运行: 在底部文本栏显示结果:Ctrl ...

  5. Browser 與 Server 持續同步的作法介紹 (Polling, Comet, Long Polling, WebSocket)长连接

    對 Comet 的懵懂 記得兩年多前,第一次看到 Gmail 中的 GTalk 覺得很好奇:「咦?線上聊天且是 Google 的熱門系統,只用傳統的 AJAX 應該會操爆伺服器吧?」很幸運的,當時前公 ...

  6. 用Razor語法寫範本-RazorEngine組件介紹

    最近剛好有要寫寄Email的程式,在代碼中寫HTML覺得很呆,抽出代碼外寫到txt或html檔當範本,由程式執行時在載入檔案時用Regex換關鍵字又覺得不夠好用,而且因為有時會有要判斷一些條件,就會寫 ...

  7. Visual Studio 跨平台開發實戰(4) - Xamarin Android 基本控制項介紹 (转帖)

    前言 不同於iOS, Xamarin 在Visual Studio中針對Android, 可以直接設計使用者介面. 在本篇教學文章中, 筆者會針對Android的專案目錄結構以及基本控制項進行介紹, ...

  8. Visual Studio 跨平台開發實戰(2) - Xamarin.iOS 基本控制項介紹 (转帖)

    前言 在上一篇文章中, 我們介紹了Xamarin 以及簡單的HelloWorld範例, 這次我們針對iOS的專案目錄架構以及基本控制項進行說明. 包含UIButton,, UISlider, UISw ...

  9. sublime text 2 + Dev-C++/MinGW 组合配置更方便快捷的 C/C++ 编译环境

    首先看一下配置后的效果: 1.直接在底部文本框中显示运行结果(不需要从键盘输入的时候使用): 2.在cmd中运行结果(需要从键盘输入的时候使用): 快捷键说明: 运行: 在底部文本栏显示结果:Ctrl ...

随机推荐

  1. [LeetCode] 034. Search for a Range (Medium) (C++/Java)

    索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 035. Sea ...

  2. 几个Linux常见命令

    ls 作用:查看目录下的文件 格式:直接ls查看当前所在目录,或者  ls 参数 /目录名 参数: -l 查看详细信息 -a 显示隐藏文件 .   表示当前目录 ..  上级目录 -G 用不同颜色标记 ...

  3. Js Json 互转

    推荐: //js对象转换为 JSON 文本 var text = '[{"id":1,"name":"C","size" ...

  4. .net对象转Datable

    public static DataTable GetDataTable<T>( IEnumerable<T> list,string tableName) { DataTab ...

  5. c#修改本地连接工具 ip地址,dns,网关,子网掩码

    //Form1类后台     #region 加载配置文件中的信息        /// <summary>        /// 加载配置文件中的信息        /// </s ...

  6. 1228.1——计算器(未使用MVC设计模式)

    #import "ViewController.h"typedef enum{    kStausNum,    kStausOperation}kStaus; typedef e ...

  7. 安装setuptools和pip

    什么是setuptool和pip python的强大在于它有许许多多的包,当我们要用到这些包时,一个一个的从官网下载安装就太麻烦了,setuptools和pip就提供了下载安装第三方包的功能.pip是 ...

  8. HTTP协议入门知识

    HTTP超文本传输协议,是客户端浏览器和服务器通信的规范,是浏览器与服务器通信的协议,属于应用层的协议,web开发者了解HTTP协议非常重要.浏览器通过http协议请求服务器,完成请求服务器立刻关闭连 ...

  9. python笔记之bisect模块

    python笔记之bisect模块 当你决定使用二分搜索时,这个模块会给你带来很大的帮助. 例子 import bisect L = [1,3,3,6,8,12,15] x = 3 #在L中查找x,x ...

  10. linux 安装mysqlServer

    先下载mysql安装包 打开 http://dev.mysql.com/downloads/mysql/  选择 linux - Generic 再选择*.tar.gz(最后那两个) 下载完毕后,得到 ...