作者:Lucida
原文链接:http:///blog/sublime-text-complete-guide/ 摘要(Abstract)本文系统全面的介绍了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,原因有下面几点:
个人背景(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根本是面向两种不同使用场景的工具:
我认为应当使用正确的工具去做有价值的事情,并把效率最大化,所以我会用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到环境变量使用 然后在“高级”选项卡里选择“环境变量”,编辑“Path”,增加Sublime Text的安装目录(例如 接下来你就可以在命令行里面利用
安装Package Control前文提到Sublime Text支持大量插件,如何找到并管理这些插件就成了一个问题,Package Control正是为了解决这个问题而出现的,利用它我们可以很方便的浏览、安装和卸载Sublime Text中的插件。 进入Package Control的官网,里面有详细的安装教程。Package Control支持Sublime Text 2和3,本文只给出3的安装流程:
成功安装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的界面如下:
配置(Settings)与其他GUI环境下的编辑器不同,Sublime Text并没有一个专门的配置界面,与之相反,Sublime Text使用JSON配置文件,例如:
会将默认字体大小调整为12,并高亮当前行。 JSON配置文件的引入简化了Sublime Text的界面,但也使得配置变的复杂,一般我会到这里查看可用的Sublime Text配置。 编辑(Editing)Sublime Text的编辑十分人性化——它不像Vim那样反人类(尽管我也用Vim但我还是要说Vim的快捷键设定绝壁连代谢产物都不如),少量的快捷键就可以完成绝大多数编辑任务。 基本编辑(Basic Editing)
选择(Selecting)Sublime Text的一大亮点是支持多重选择——同时选择多个区域,然后同时进行编辑。
多重选词的一大应用场景就是重命名——从而使得代码更加整洁。尽管Sublime Text无法像IDE(例如Eclipse)那样进行自动重命名,但我们可以通过多重选词+多重编辑进行直观且便捷的重命名: 有时我们需要对一片区域的所有行进行同时编辑, 有打散自然就有合并, 查找&替换(Finding&Replacing)Sublime Text提供了强大的查找(和替换)功能,为了提供一个清晰的介绍,我将Sublime Text的查找功能分为快速查找、标准查找和多文件查找三种类型。 快速查找&替换多数情况下,我们需要查找文中某个关键字出现的其它位置,这时并不需要重新将该关键字重新输入一遍然后搜索,我们只需要使用 标准查找&替换另一种常见的使用场景是搜索某个已知但不在当前显示区域的关键字,这时可以使用 以及使用 关键字查找&替换对于普通用户来说,常规的关键字搜索就可以满足其需求:在搜索框输入关键字后 Sublime Text的查找有不同的模式:
这样之后在选中文本的状态下范围内搜索就会自动开启,配合这个功能,局部重命名(Local Renaming)变的非常方便: 使用 正则表达式查找&替换正则表达式是非常强大的文本查找&替换工具,Sublime Text中使用 出于篇幅原因,本文不会对正则表达式进行详细介绍,Mastering Regex(中译本:精通正则表达式)对正则表达式的原理和各语言下的使用进行了详细介绍。此外网上有大量正则表达式的优秀教程(“正则表达式30分钟入门教程”和MSDN正则表达式教程.aspx)),以及在线测试工具(regexpal和regexer)。 多文件搜索&替换使用 多文件搜索&替换默认在当前打开的文件和文件夹进行搜索/替换,我们也可以指定文件/文件夹进行搜索/替换。 跳转(Jumping)Sublime Text提供了强大的跳转功能使得我们可以在不同的文件/方法/函数中无缝切换。就我的使用经验而言,目前还没有哪一款编辑器可以在这个方面超越Sublime Text。 跳转到文件
需要注意的是,Sublime Text使用模糊字符串匹配(Fuzzy String Matching),这也就意味着你可以通过文件名的前缀、首字母或是某部分进行匹配:例如, 跳转到符号尽管是一个文本编辑器,Sublime Text能够对代码符号进行一定程度的索引。 比较有意思的是,对于Markdown, 跳转到某行
组合跳转在
所以Sublime Text把 中文输入法的问题从Sublime Text的初版(1.0)到现在(3.0 3065),中文输入法(包括日文输入法)都有一个问题:输入框不跟随。 目前官方还没有修复这个bug,解决方法是安装 文件夹(Folders)Sublime Text支持以文件夹做为单位进行编辑,这在编辑一个文件夹下的代码时尤其有用。在 你会发现右边多了一个侧栏,这个侧栏列出了当前打开的文件和文件夹的文件,使用 窗口&标签(Windows & Tabs)Sublime Text是一个多窗口多标签编辑器:我们既可以开多个Sublime Text窗口,也可以在一个Sublime Text窗口内开多个标签。 窗口(Window)使用 当窗口内没有标签时,使用 标签(Tab)使用 编辑代码时我们经常会开多个窗口,所以分屏很重要。 分屏之后,使用 全屏(Full Screen)Sublime Text有两种全屏模式:普通全屏和无干扰全屏。 个人强烈建议在开启全屏前关闭菜单栏(Toggle Menu),否则全屏效果会大打折扣。
风格(Styles)风格对于任何软件都很重要,对编辑器也是如此,尤其是GUI环境下的编辑器。作为一个程序员,我希望我的编辑器足够简洁且足够个性。 Notepad++默认界面 Sublime Text默认界面 所以在用过Sublime Text之后,我立刻就卸掉了Notepad++。 Sublime Text自带的风格是我喜欢的深色风格(也可以调成浅色),默认主题是 一些设置(Miscellaneous Settings)下面是我个人使用的设置项。
设置之后的效果如下: 主题(Themes)Sublime Text有大量第三方主题:[https://sublime./browse/labels/theme],这里我给出几个个人感觉不错的主题: Soda LightSoda DarkNexusFlatlandSpacegray LightSpacegray Dark配色(Color)colorsublime包含了大量Sublime Text配色方案,并支持在线预览,配色方案的安装教程在这里,恕不赘述。 我个人使用的是Nexus主题和Flatland Dark配色,配置如下:
效果如下: 编码(Coding)优秀的编辑器使编码变的更加容易,所以Sublime Text提供了一系列功能以提高开发效率。 良好实践(Good Practices)良好的代码应该是规范的,所以Google为每一门主流语言都设置了其代码规范(Code Style Guideline)。我自己通过下面的设置使以规范化自己的代码。
代码段(Code Snippets)Sublime Text支持代码段(Code Snippet),输入代码段名称后 你可以通过Package Control安装第三方代码段,也可以自己创建代码段,参考这里。 格式化(Formatting)Sublime Text基本的手动格式化操作包括: 除了手动格式化,我们也可以通过安装插件实现自动缩进和智能对齐:
自动完成(Auto Completion)Sublime Text 支持一定的自动完成,按 括号(Brackets)编写代码时会碰到大量的括号,利用 此外,我使用BracketHighlighter插件以高亮显示配对括号以及当前光标所在区域,效果如下: 命令行(Command Line)尽管提供了Python控制台,但Sublime Text的控制台仅支持单行输入,十分不方便,所以我使用Sublime?REPL以进行一些编码实验(Experiments)。 其它(Miscellaneous)尽管我试图在本文包含尽可能多的Sublime Text实用技能,但受限于篇幅和我的个人经验,本文仍不免有所遗漏,欢迎在评论里指出本文的错误及遗漏。 下面是一些可能有用但我很少用到的功能:
快捷键列表(Shortcuts Cheatsheet)我把本文出现的Sublime Text按其类型整理在这里,以便查阅。 通用(General)
编辑(Editing)
选择(Selecting)
查找&替换(Finding&Replacing)
跳转(Jumping)
窗口(Window)
屏幕(Screen)
延伸阅读(Further Reading)书籍(Books)
链接(Links)
视频(Videos)
以上。 作者:Lucida
|
|
来自: icecity1306 > 《工具汇总》