刚工作的时候,项目组都用UltraEdit,我也随大流。我使用UltraEdit(UE)工作的时间仅有2个月,
我对UE的印象一直是不亲切,功能齐全常用的却不多,一些功能与配置在菜单和界面中的位置与我期望
的不一样,没有舒适的配色方案等等。
后来用Notepad++,大概半年左右。Notepad++功能相对较简单,界面比UE简洁,快捷键用的比较熟
练,搭配上多view功能和nppFtp插件,工作效率提高了不少。
2012年11月到现在一直用Sublimetext2,用过感受就是很舒服、很方便、真奇特。功能丰富而且
易用性高:配置sublime快捷键的方式,极其方便的commandpalette,强大的文件与内容模糊等等,本文
的主要目的是从易用性等几个方面分享我使用Sublimetext2时的一些感受和经验,希望它能引起你对Sublime
的兴趣。关于Sublime的教程及详细介绍,网上有很多,参见本文结尾处的References。
对于各文本编辑器的观点很可能与我的使用熟练程度与特定工作(主要是在项目中开发C++,Python)
相关,不具普遍性,哪个编辑器真正适合你还是需要自己亲身尝试。
1.学习成本低-功能简洁-很快上手-易用性高
Sublime最大的特点就是把大多数功能做的又简洁又简单,易用性很高,不像笨重的UltraEdit。一般
的文本编辑器如UltraEdit,Notepad++,Sublime的部分相同功能的默认快捷键也相同,为在不同的编辑器之
间切换提供便利。
而且Sublime提供了一些操作方式和功能,如方便的Keybindings,CommandPalette,Gotoanything更
能提高工作的效率:缩短了移动光标的距离,鼠标点选功能项、菜单的次数,减少了重复工作,少了点烦
心。在这方面,Sublime与乔布斯的设计哲学真有些相似(但是Sublime的作者曾经只在Google工作过)。
有了Sublime,对于我这种同时用mac,windows,ubuntu的人是很大的幸福,不必学习使用多个texteditor,
不必在多个texteditor之间切换。
Sublime支持MacOSX,windows32/64bit,Linux32/64bit
Sublime的查找替换功能没有复杂的勾选,出现在编辑器底部边缘的位置,不会妨碍需要浏览的内容。
4. CommandPalette命令面板
Sublime提供了方便的命令调用方式,选择Tool->CommandPalette,或者按快捷键ctrl+shift+P调出
CommandPalette,只要简单地输入命令名称中包含的的几个字母就可以立即查找到可能匹配的命令,按下
回车直接执行,省去了在菜单中依次查找的麻烦。CommandPalette可匹配的结果包括:菜单中常用的命
令、设置打开的文本按哪种编程语言进行语法高亮,snippets等。
快捷键Ctrl+p或者Goto->GotoAnything,出现一个简洁的输入文本区域。这个功能让你能够迅速
查找已打开的文件和已打开的目录中的文件,并在这些文件之间迅速切换。输入文件名中包含的字母,迅
速得到可能的匹配。非常喜欢sublime提供的仅仅键入几个字母即可得到想要的结果的模糊匹配功能。
还可以在这些文件中查找特定的文本,例如:
调出GotoAnything后,输入island#treasure来查找文件名匹配island的文件中的treasure。
(例子来源:SublimeTextUnofficialDocumentation)
类似的功能还有:
(1)GotoSymbolctrl+R 快速定位到函数
(2)GotoLine ctrl+G 快速定位到行
提供多种多重选择方式:
按住ctrl,用鼠标左键点击要选择的文本位置,出现多个光标,可在同行、跨行多重选择。
再ctrl+L可选中这些行。
按住shift,点击鼠标右键可以类似notepad++中列模式的方式多重选择文本。
按住shift + alt 点击鼠标右键,可在多选中去除某个选择。
你可以将编辑窗口拆分为两列,三列,四列或者两行,三行再或者四格模式,方便查看和编辑文件。
以颜色高亮的方式提示一些编程语法错误。如C++定义Class时忘记加末尾分号,忘记删除尾部注释
符号’*/’等。
9. KeyBindings
Sublime把preferences,keybindings,macro都做成了json格式的配置文件,相对于复杂的界面来讲,
更容易实现查找和简单的配置。但是还不清楚这是sublime的设计思想,还是它未来可能会改成界面。
例如keybindings的配置,允许你DIY操作与快捷键的映射关系。
快捷键的映射关系保存在.sublime-keymap文件中,可通过Preferences->KeyBindings-Default打开此文件,
以下是.sublime-keymap中的部分内容:
[ { "keys": ["ctrl+shift+n"], "command": "new_window" }, { "keys": ["ctrl+shift+w"], "command": "close_window" }, { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, { "keys": ["escape"], "command": "hide_auto_complete", "context": [ { "key": "auto_complete_visible", "operator": "equal", "operand": true } ] }, ]
“keys”的值为快捷键组合,”command”的值为要执行的命令。更加复杂的还包括待输入的参数
”args”以及命令的上下文信息”context”。
Sublime有极好的扩展能力,使用Python作为扩展语言,想要更好地利用它的扩展能力,应该使用
PackageControl。PackageControl的目的是帮助sublime用户简化安装、管理插件的过程,它能与sublime
完美结合,是sublime的必备神器,你仍然可以像操作commandpalette那样操作packagecontrol.
Packagecontrol的安装方法及使用方法见:
http://wbond.net/sublime_packages/package_control1.ctrl+方向键按单词移动
2.ctrl+shift+方向键按单词选取
3.ctrl+F3查找选定的或光标所在单词
4.F3查找特定的单词(一般查找的流程是先ctrl+F3,再F3)
5.ctrl+shift+p打开CommandPalette
6.ctrl+R定位文件中出现的符号
7.ctrl+G定位行
8.Ctrl+pGotoanything
9.ctrl+shift+d复制光标所在的行
10.ctrl+shift+k删除光标所在的行
11.Shift+alt+2拆分窗口成两列
12.Shift+alt+8拆分窗口成两行
关于mac的常用快捷键可参考:https://gist.github.com/1207002
(1)ConvertToUTF8
Sublime只支持utf8编码,该插件可以帮助处理GBK,BIG5,EUC-KR,EUC-JP,SHIFT_JIS等
编码的文件
(2) Sftpftp工具,类似notepad++的nppftp插件
(3) Sidebarenhancements侧边栏功能增强插件,提供很多实用的文件操作。
sublime也是有各种问题的,当然并不是指它是收费的,毕竟目前可以完全免费使用,只是偶尔会提示
购买而已。即使真正收费了,这也是一个值得购买的好软件,并不影响它的出色表现。
真正的问题是在Linux中sublime无法输入中文,解决方法繁琐。
Reference:
1.SublimeText2documentationindex
http://www.sublimetext.com/docs/2/
2. SublimeTextUnofficialDocumentation
http://docs.sublimetext.info/en/latest/index.html
3.PerfectWorkflowinSublimeText2:SublimeText2的视频教程
https://tutsplus.com/course/improve-workflow-in-sublime-text-2/
4.SublimeText2-UsefulShortcuts(MacOSX):
https://gist.github.com/1207002
5.SublimeText2-UsefulShortcuts(windows/Linux):
https://gist.github.com/4441629
6.KeyboardShortcuts-Windows/Linux:
http://docs.sublimetext.info/en/latest/reference/keyboard_shortcuts_win.html
7.SublimeText2TipsandShortcuts:
http://robdodson.me/blog/2012/06/23/sublime-text-2-tips-and-shortcuts/
8.SublimeText2TipsandTricks:
http://net.tutsplus.com/tutorials/tools-and-tips/sublime-text-2-tips-and-tricks/
9.SublimeText2TipsandTricks中译版:
http://lucifr.com/2011/08/31/sublime-text-2-tricks-and-tips/
Garyelephant
garygaowork[at]gmail.com
关注互联网创新、分布式、运维自动化、软件团队