快捷搜索:  as

值得收藏!神级代码编辑器 Sublime Text 全程指南

原文地址http://mdsa.51cto.com/art/201507/484183_all.htm

本体裁系周全的先容了Sublime Text,旨在成为最优秀的Sublime Text中文教程。

媒介(Prologue)

Sublime Text是一款跨平台代码编辑器(Code Editor),从最初的Sublime Text 1.0,到现在的Sublime Text 3.0,Sublime Text从一个不有名的编辑器蜕变到现在险些是各平台首选的GUI编辑器。而这样优秀的编辑器却没有一个靠谱的中文教程,以是我试图经由过程本文增补这个缺陷。

编辑器的选择(Editor Choices)

从初学编程到现在,我用过的编辑器有EditPlus、UltraEdit、Notepad++、Vim、TextMate和Sublime Text,假如让我从中保举,我会绝不踌躇的保举Vim和Sublime Text,缘故原由有下面几点:

跨平台:Vim和Sublime Text均为跨平台编辑器(在Linux、OS X和Windows下均可应用)。作为一个法度榜样员,切换系统是常有的工作,为了削减重复进修,应用一个跨平台的编辑器是很有需要的。

可扩展:Vim和Sublime Text都是可扩展的(Extensible),并包孕大年夜量实用插件,我们可以经由过程安装自己领域的插件来成倍前进事情效率。

互补:Vim和Sublime Text分手是敕令行情况(CLI)和图形界面情况(GUI)下的最佳选择,同时应用两者会大年夜大年夜前进事情效率。

小我背景(Personal Background)

我是一名异常范例的法度榜样员:日常平凡事情主要在Linux情况下应用Java和Python,有时会用HTML+CSS+JavaScript编写网页;业余时会在Windows情况编写一些C#法度榜样(包括节制台法度榜样(Console Application)和移动利用(Mobile App),也会玩一些非主流说话(比如Haskell,ML和Ruby等)以拓展见识。

以是这篇文章会我的小我事情内容为主要应用处景(Scenario),只管无法覆盖到所有的应用处景,但我觉得依然可以覆盖到绝大年夜部分,假如您觉得我漏掉了什么内容,请在文章下面回覆,我会只管即便更新。

本文风格(Writing Style)

受益于K&R C的写作风格,我倾向于以实际案例来解说Sublime Text的功能,以是本文中的例子均源于我在实际开拓时碰到的问题。

此外,把本文会应用大年夜量动画(GIF)演示Sublime Text的编辑功能,由于我发明图片难以演示完备的编辑流程(Workflow),而视频又过于重量级。本文的GIF动画均应用ScreenToGif进行录制。

编辑器(Editor) vs 集成开拓情况(Integrated Development Environment,下文简称IDE)

我常常看到一些法度榜样员拿编辑器和IDE进行对照,诸如Vim比Eclipse强大年夜或是Visual Studio太慢不如Notepad++好使之类的评论争论比比皆是,小我觉得这些评论争论没故意义,由于编辑器和IDE根本是面向两种不合应用处景的对象:

编辑器面向无语义的纯文本,不涉及领域逻辑,是以速率快体积小,得当编写零丁的设置设置设备摆设摆设文件和动态说话脚本(Shell、Python和Ruby等)。

IDE面向有语义的代码,会涉及到大年夜量领域逻辑,是以速率偏慢体积宏大年夜,得当编写静态说话项目(Java、C++和C#等)。

我觉得该当应用精确的对象去做有代价的工作,并把效率最大年夜化,以是我会用Eclipse编写Java项目,用Vim编写Shell,用Sublime Text编写JavaScript/HTML/Python,用Visual Studio编写C#。

媒介到此停止,下面进入正题。

安装(Installation)

Sublime Text官方网站供给了Sublime Text各系统各版本的下载,今朝Sublime Text的最新版本是Sublime Text 3。这里以Windows版本的Sublime Text安装为例。

留意在安装时勾选Add to explorer context menu,这样在右键单击文件时就可以直接应用Sublime Text打开。

添加Sublime Text到情况变量

应用Win + R运行sysdm.cpl打开“系统属性”。

然后在“高档”选项卡里选择“情况变量”,编辑“Path”,增添Sublime Text的安装目录(例如D:\\Program Files\\Sublime Text 3)。

接下来你就可以在敕令行里面使用subl敕令直接应用Sublime Text了:

subl file    :: 应用Sublime Text打开file文件

subl folder  :: 应用Sublime Text打开folder文件夹

subl .       :: 应用Sublime Text当前文件夹

安装Package Control

前文提到Sublime Text支持大年夜量插件,若何找到并治理这些插件就成了一个问题,Package Control恰是为了办理这个问题而呈现的,使用它我们可以很方便的浏览、安装和卸载Sublime Text中的插件。

进入Package Control的官网,里面有具体的安装教程。Package Control支持Sublime Text 2和3,本文只给出3的安装流程:

应用Ctrl + `打开Sublime Text节制台。

将下面的代码粘贴到节制台里:

等待Package Control安装完成。之后应用Ctrl + Shift + P打开敕令板,输入PC应呈现Package Control:

成功安装Package Control之后,我们就可以方便的安装应用Sublime Text的各类插件:

购买(Purchase)

Sublime Text是一个收费闭源软件,这在必然程度上成为了我支持Sublime Text的来由(我心中的软件靠谱程度:免费开源

不过不购买Sublime Text也可以“正常”应用它,只是Sublime Text会时时时的弹出一个对话框提醒你购买,此外窗口处会有一个很屌丝很low逼的(UNREGISTERED)。(在高频操作下,一样平常20分钟提示一次,小我觉得算是很厚道了)

大概不少人会觉着Sublime Text 70刀的价格太贵,但比拟它的功能和带来的效率提升,70刀真的不值一提,假如你未方便应用Paypal付款可以邮件联系我,你支付宝给我打款然后我帮你付款,价格按当日汇率折算(450元阁下)。

概览(Tour)

基础观点(Basic Concepts)

Sublime Text的界面如下:

标签(Tab):无需先容。

编辑区(Editing Area):无需先容。

侧栏(Side Bar):包孕当前打开的文件以及文件夹视图。

缩略图(Minimap):如其名。

敕令板(Command Palette):Sublime Text的操作中间,它使得我们基础可以离开鼠标和菜单栏进行操作。

节制台(Console):应用Ctrl + `调出,它既是一个标准的Python REPL,也可以直接对Sublime Text进行设置设置设备摆设摆设。

状态栏(Status Bar):显示当前行号、当前说话和Tab款式等信息。

设置设置设备摆设摆设(Settings)

与其他GUI情况下的编辑器不合,Sublime Text并没有一个专门的设置设置设备摆设摆设界面,与之相反,Sublime Text应用JSON设置设置设备摆设摆设文件,例如:

会将默认字体大年夜小调剂为12,并高亮当前行。

JSON设置设置设备摆设摆设文件的引入简化了Sublime Text的界面,但也使得设置设置设备摆设摆设变的繁杂,一样平常我会到这里查看可用的Sublime Text设置设置设备摆设摆设。

编辑(Editing)

Sublime Text的编辑十分人道化——它不像Vim那样反人类(只管我也用Vim但我照样要说Vim的快捷键设定峭壁连代谢产物都不如),少量的快捷键就可以完成绝大年夜多半编辑义务。

基础编辑(Basic Editing)

↑↓←→便是↑↓←→,不是KJHL,(没错我便是在吐槽Vim,尼玛设成WSAD也比这个强啊),粘贴剪切复制均和系统同等。

Ctrl + Enter在当前行下面新增一行然后跳至该行;Ctrl + Shift + Enter在当前行上面增添一行并跳至该行。

Ctrl + ←/→进行逐词移动,响应的,Ctrl + Shift + ←/→进行逐词选择。

Ctrl + ↑/↓移动当前显示区域,Ctrl + Shift + ↑/↓移动当前行。

选择(Selecting)

Sublime Text的一大年夜亮点是支持多重选择——同时选择多个区域,然后同时进行编辑。

Ctrl + D选择当前光标所在的词并高亮该词所有呈现的位置,再次Ctrl + D选择该词呈现的下一个位置,在多重选词的历程中,应用Ctrl + K进行跳过,应用Ctrl + U进行回退,应用Esc退出多重编辑。

多重选词的一大年夜利用处景便是重命名——从而使得代码加倍整齐。只管Sublime Text无法像IDE(例如Eclipse)那样进行自动重命名,但我们可以经由过程多重选词+多重编辑进行直不雅且便捷的重命名:

无意偶尔我们必要对一片区域的所有行进行同时编辑,Ctrl + Shift + L可以将当前选中区域打散,然落后行同时编辑:

有打散自然就有合并,Ctrl + J可以把当前选中区域合并为一行:

查找&调换(Finding&Replacing)

Sublime Text供给了强大年夜的查找(和调换)功能,为了供给一个清晰的先容,我将Sublime Text的查找功能分为快速查找、标准查找和多文件查找三种类型。

快速查找&调换

多半环境下,我们必要查找文中某个关键字呈现的其它位置,这时并不必要从新将该关键字从新输入一遍然后搜索,我们只必要应用Shift + ←/→或Ctrl + D选中关键字,然后F3跳到其下一个呈现位置,Shift + F3跳到其上一个呈现位置,此外还可以用Alt + F3选中其呈现的所有位置(之后可以进行多重编辑,也便是快速调换)。

标准查找&调换

另一种常见的应用处景是搜索某个已知但不在当前显示区域的关键字,这时可以应用Ctrl + F调出搜索框进行搜索:

以及应用Ctrl + H进行调换:

关键字查找&调换

对付通俗用户来说,老例的关键字搜索就可以满意其需求:在搜索框输入关键字后Enter跳至关键字当前光标的下一个位置,Shift + Enter跳至上一个位置,Alt + Enter选中其呈现的所有位置(同样的,接下来可以进行快速调换)。

Sublime Text的查找有不合的模式:Alt + C切换大年夜小写敏感(Case-sensitive)模式,Alt + W切换整字匹配(Whole matching)模式,除此之外Sublime Text还支持在选中范围内搜索(Search in selection),这个功能没有对应的快捷键,但可以经由过程以下设置设置设备摆设摆设项自动开启。

这样之后在选中文本的状态下范围内搜索就会自动开启,共同这个功能,局部重命名(Local Renaming)变的异常方便:

应用Ctrl + H进行标准调换,输入调换内容后,应用Ctrl + Shift + H调换当前关键字,Ctrl + Alt + Enter调换所有匹配关键字。

正则表达式查找&调换

正则表达式是异常强大年夜的文本查找&调换对象,Sublime Text中应用Alt + R切换正则匹配模式的开启/关闭。Sublime Text的应用Boost里的Perl正则表达式风格。

出于篇幅缘故原由,本文不会对正则表达式进行具体先容,Mastering Regex(中译本:精晓正则表达式)对正则表达式的道理和各说话下的应用进行了具体先容。此外网上有大年夜量正则表达式的优秀教程(“正则表达式30分钟入门教程”和MSDN正则表达式教程.aspx)),以及在线测试对象(regexpal和regexer)。

多文件搜索&调换

应用Ctrl + Shift + F开启多文件搜索&调换(留意此快捷键和搜狗输入法的简繁切换快捷键有冲突):

多文件搜索&调换默认在当前打开的文件和文件夹进行搜索/调换,我们也可以指定文件/文件夹进行搜索/调换。

跳转(Jumping)

Sublime Text供给了强大年夜的跳转功能使得我们可以在不合的文件/措施/函数中无缝切换。就我的应用履历而言,今朝还没有哪一款编辑器可以在这个方面逾越Sublime Text。

跳转到文件

Ctrl + P会列出当前打开的文件(或者是当前文件夹的文件),输入文件名然后Enter跳转至该文件。

必要留意的是,Sublime Text应用隐隐字符串匹配(Fuzzy String Matching),这也就意味着你可以经由过程文件名的前缀、首字母或是某部分进行匹配:例如,EIS、Eclip和Stupid都可以匹配EclipseIsStupid.java。

跳转到符号

只管是一个文本编辑器,Sublime Text能够对代码符号进行必然程度的索引。Ctrl + R会列出当前文件中的符号(例如类名和函数名,但无法深入到变量名),输入符号名称Enter即可以跳转到该处。此外,还可以应用F12快速跳转到当前光标所在符号的定义处(Jump to Definition)。

对照故意思的是,对付Markdown,Ctrl + R会列出其大年夜纲,异常实用。

跳转到某行

Ctrl + G然后输入行号以跳转到指定行:

组合跳转

在Ctrl + P匹配到文件后,我们可以进行后续输入以跳转到更正确的位置:

@ 符号跳转:输入@symbol跳转到symbol符号所在的位置

# 关键字跳转:输入#keyword跳转到keyword所在的位置

: 行号跳转:输入:12跳转到文件的第12行。

以是Sublime Text把Ctrl + P称之为“Go To Anything”,这个功能如斯好用,以至于我觉得没有其它编辑器能够逾越它。

中文输入法的问题

从Sublime Text的第一版(1.0)到现在(3.0 3065),中文输入法(包括日文输入法)都有一个问题:输入框不跟随。

今朝官方还没有修复这个bug,办理措施是安装IMESupport插件,之后重启Sublime Text问题就办理了。

文件夹(Folders)

Sublime Text支持以文件夹做为单位进行编辑,这在编辑一个文件夹下的代码时尤其有用。在File下Open Folder:

你会发明右边多了一个侧栏,这个侧栏列出了当前打开的文件和文件夹的文件,应用Ctrl + K, Ctrl + B显示或暗藏侧栏,应用Ctrl + P快速跳转到文件夹里的文件。

窗口&标签(Windows & Tabs)

Sublime Text是一个多窗口多标签编辑器:我们既可以开多个Sublime Text窗口,也可以在一个Sublime Text窗口内开多个标签。

窗口(Window)

应用Ctrl + Shift + N创建一个新窗口(该快捷键再次和搜狗输入法快捷键冲突,小我建议禁用所有搜狗输入法快捷键)。

当窗口内没有标签时,应用Ctrl + W关闭该窗口。

标签(Tab)

应用Ctrl + N在当前窗口创建一个新标签,Ctrl + W关闭当前标签,Ctrl + Shift + T规复刚刚关闭的标签。

编辑代码时我们常常会开多个窗口,以是分屏很紧张。Alt + Shift + 2进行阁下分屏,Alt + Shift + 8进行高低分屏,Alt + Shift + 5进行高低阁下分屏(即分为四屏)。

分屏之后,应用Ctrl + 数字键跳转到指定屏,应用Ctrl + Shift + 数字键将当前屏移动到指定屏。例如,Ctrl + 1会跳转到1屏,而Ctrl + Shift + 2会将当前屏移动到2屏。

全屏(Full Screen)

Sublime Text有两种全屏模式:通俗全屏和无滋扰全屏。

小我强烈建议在开启全屏前关闭菜单栏(Toggle Menu),否则全屏效果会大年夜打折扣。

F11切换通俗全屏:

Shift + F11切换无滋扰全屏:

风格(Styles)

风格对付任何软件都很紧张,对编辑器也是如斯,尤其是GUI情况下的编辑器。作为一个法度榜样员,我盼望我的编辑器足够简洁且足够个性。

Notepad++默认界面

Sublime Text默认界面

以是在用过Sublime Text之后,我立即就卸掉落了Notepad++。

Sublime Text自带的风格是我爱好的深色风格(也可以调成浅色),默认主题是Monokai Bright,这两者的搭配已经很不错了,不过我们还可以做得更好:接下来我将会展示若何经由过程设置偏好项和添加自定义风格/主题使得Sublime Text加倍Stylish。

一些设置(Miscellaneous Settings)

下面是我小我应用的设置项。

设置之后的效果如下:

设置效果

主题(Themes)

Sublime Text有大年夜量第三方主题:[https://sublime.wbond.net/browse/labels/theme],这里我给出几个小我感到不错的主题:

Soda Light

Soda Dark

Nexus

Flatland

Spacegray Light

Spacegray Dark

配色(Color)

colorsublime包孕了大年夜量Sublime Text配色规划,并支持在线预览,配色规划的安装教程在这里,恕不赘述。

我小我应用的是Nexus主题和Flatland Dark配色,设置设置设备摆设摆设如下:

效果如下:

编码(Coding)

优秀的编辑器使编码变的加倍轻易,以是Sublime Text供给了一系列功能以前进开拓效率。

优越实践(Good Practices)

优越的代码应该是规范的,以是Google为每一门主流说话都设置了其代码规范(Code Style Guideline)。我自己经由过程下面的设置使以规范化自己的代码。

Sublime Text支持代码段(Code Snippet),输入代码段名称后Tab即可天生代码段。

你可以经由过程Package Control安装第三方代码段,也可以自己创建代码段,参考这里。

款式化(Formatting)

Sublime Text基础的手动款式化操作包括:Ctrl + [向左缩进,Ctrl + ]向右缩进,此外Ctrl + Shift + V可以以当前缩进粘贴代码(异常实用)。

除了手动款式化,我们也可以经由过程安装插件实现自动缩进和智能对齐:

HTMLBeautify:款式化HTML。

AutoPEP8:款式化Python代码。

Alignment:进行智能对齐。

自动完成(Auto Completion)

Sublime Text 支持必然的自动完成,按Tab自动补全。

括号(Brackets)

编写代码时会碰着大年夜量的括号,使用Ctrl + M可以快速的在肇端括号和结尾括号间切换,Ctrl + Shift + M则可以快速选择括号间的内容,对付缩进型说话(例如Python)则可以应用Ctrl + Shift + J。

此外,我应用BracketHighlighter插件以高亮显示配对括号以及当前光标所在区域,效果如下:

敕令行(Command Line)

只管供给了Python节制台,但Sublime Text的节制台仅支持单行输入,十分未方便,以是我应用SublimeREPL以进行一些编码实验(Experiments)。

其它(Miscellaneous)

只管我试图在本文包孕尽可能多的Sublime Text实用技能,但受限于篇幅和我的小我履历,本文仍不免有所漏掉,迎接在评论里指出本文的差错及漏掉。

下面是一些可能有用但我很少用到的功能:

宏(Macro):Sublime Text支持录制宏,但我在实际事情中并未发明宏有多大年夜用场。

其它平台(Other Platforms):本文只先容了Windows平台上Sublime Text的应用,不过Linux和OS X上Sublime Text的应用要领和Windows区别不大年夜,只是在快捷键上有所差异,请参考Windows/Linux快捷键和OS X快捷键。

项目(Projects):Sublime Text支持简单的项目治理,但我一样平常只用到文件夹。

Vim模式(Vintage):Sublime Text自带Vim模式。

构建(Build):经由过程设置设置设备摆设摆设,Sublime Text可以进行源码构建。

调试(Debug):经由过程安装插件,Sublime Text可以对代码进行调试。

快捷键列表(Shortcuts Cheatsheet)

我把本文呈现的Sublime Text按其类型收拾在这里,以便查阅。

通用(General)

↑↓←→:高低阁下移动光标,留意不是不是KJHL!

Alt:调出菜单

Ctrl + Shift + P:调出敕令板(Command Palette)

Ctrl + `:调出节制台

编辑(Editing)

Ctrl + Enter:在当前行下面新增一行然后跳至该行

Ctrl + Shift + Enter:在当前行上面增添一行并跳至该行

Ctrl + ←/→:进行逐词移动

Ctrl + Shift + ←/→进行逐词选择

Ctrl + ↑/↓移动当前显示区域

Ctrl + Shift + ↑/↓移动当前行

选择(Selecting)

Ctrl + D:选择当前光标所在的词并高亮该词所有呈现的位置,再次Ctrl + D选择该词呈现的下一个位置,在多重选词的历程中,应用Ctrl + K进行跳过,应用Ctrl + U进行回退,应用Esc退出多重编辑

Ctrl + Shift + L:将当前选中区域打散

Ctrl + J:把当前选中区域合并为一行

Ctrl + M:在肇端括号和结尾括号间切换

Ctrl + Shift + M:快速选择括号间的内容

Ctrl + Shift + J:快速选择同缩进的内容

Ctrl + Shift + Space:快速选择当前感化域(Scope)的内容

查找&调换(Finding&Replacing)

F3:跳至当前关键字下一个位置

Shift + F3:跳到当前关键字上一个位置

Alt + F3:选中当前关键字呈现的所有位置

Ctrl + F/H:进行标准查找/调换,之后:

Alt + C:切换大年夜小写敏感(Case-sensitive)模式

Alt + W:切换整字匹配(Whole matching)模式

Alt + R:切换正则匹配(Regex matching)模式

Ctrl + Shift + H:调换当前关键字

Ctrl + Alt + Enter:调换所有关键字匹配

Ctrl + Shift + F:多文件搜索&调换

跳转(Jumping)

Ctrl + P:跳转到指定文件,输入文件名后可以:

@ 符号跳转:输入@symbol跳转到symbol符号所在的位置

# 关键字跳转:输入#keyword跳转到keyword所在的位置

: 行号跳转:输入:12跳转到文件的第12行。

Ctrl + R:跳转到指定符号

Ctrl + G:跳转到指定行号

窗口(Window)

Ctrl + Shift + N:创建一个新窗口

Ctrl + N:在当前窗口创建一个新标签

Ctrl + W:关闭当前标签,当窗口内没有标签时会关闭该窗口

Ctrl + Shift + T:规复刚刚关闭的标签

屏幕(Screen)

F11:切换通俗全屏

Shift + F11:切换无滋扰全屏

Alt + Shift + 2:进行阁下分屏

Alt + Shift + 8:进行高低分屏

Alt + Shift + 5:进行高低阁下分屏

分屏之后,应用Ctrl + 数字键跳转到指定屏,应用Ctrl + Shift + 数字键将当前屏移动到指定屏

延伸涉猎(Further Reading)

册本(Books)

Mastering Sublime Text:我读过的独逐一本关于Sublime Text的册本,书中先容的插件很实用,但对编辑技术先容不全。

Instant Sublime Text Starter:别的一本关于Sublime Text的书,我没有读过。

链接(Links)

官方文档:http://www.sublimetext.com/docs/3/

官方论坛:http://www.sublimetext.com/forum/

Stack Overflow的Sublime Text频道:

http://stackoverflow.com/questions/tagged/sublimetext

http://stackoverflow.com/questions/tagged/sublimetext2

http://stackoverflow.com/questions/tagged/sublimetext3

非官方文档:http://sublime-text-unofficial-documentation.readthedocs.org/以致比官方文档还要周全!

Package Control:https://sublime.wbond.net/大年夜量的Sublime Text插件和主题。

视频(Videos)

Getting Started with SublimeText:https://www.youtube.com/watch?v=04gKiTiRlq8

Sublime Text Pefect Workflow:https://www.youtube.com/watch?v=bpEp0ePIOEM&list=PLuwqxbvf3olpLsnFvo06gbrkcEB5o7K0g

以上。

您可能还会对下面的文章感兴趣: