Sublime Text 使用简介
2013-03-02 23:12 @影子@ 阅读(417) 评论(0) 编辑 收藏 举报本文主要参考 Sublime Text 的非官方文档:http://docs.sublimetext.info/en/latest/index.html
Sublime Text 是个不错的跨平台编辑器,本文简单介绍一下其用法,这里我使用的是 Sublime Text 2 且在 Windows 下使用,因此可能和其他平台有细微的出入。
关于 Windows 版本 Sublime Text 的说明
Windows 的 Sublime 有两种版本:
- 普通版(Normal)
Sublime Text 相关的文件被放在了两个目录中,一个用于放置程序及其相关文件,一个用于放置数据 - 便携版(Portable)
所有的 Sublime Text 相关文件被放置在一个文件夹中,你能够随意的移动此文件夹而不影响 Sublime Text 的工作
基本的概念
类似于很多优秀的编辑器,Sublime Text 是可以扩展的。数据目录的路径如下:
- Windows: %APPDATA%\Sublime Text 2
- OS X: ~/Library/Application Support/Sublime Text 2
- Linux: ~/.config/sublime-text-2
如果是 Windows Portable 版本,那么在 Sublime Text 的 Data 目录下。
数据目录下,我们可以放置各种 Package(包),包是 Sublime Text 的一个重要的概念。一个包实际上是一个目录,包含各种文件用于实现特定的功能,例如:帮助我们更快的编写 Email。
Sublime Text 通过一个叫 Vintage 的包提供了 VI 的功能(http://docs.sublimetext.info/en/latest/basic_concepts.html 文档上戏称用 VI 的人为恐龙)。Vintage 包默认是被忽略的,我们可以点击 Preferences/Settings – Default 菜单,找到 “ignored_packages” 将 Vintage 从中移除,这里注意到,我们编辑的配置文件使用的是 JSON 格式。
emacs?抱歉,似乎到此时(2012/08/11)还没有相关的包,对此 Sublime Text 用户这么说:
This information is hardly useful for anyone. Emacs is… Well, nobody really knows what emacs is, although some people edit text with it. If you are an emacs user, you’re probably not reading this.
编辑
Sublime Text 允许同时选择多个文本块或者多个位置(这是一个非常酷的功能),这样就可以同时编辑多个文本块或者多个位置。
Windows 下使用鼠标选择:
- 鼠标左键(类似于大多数编辑器)
- 鼠标右键 + Shift
- 鼠标中键
- 加选时,额外按住 Ctrl 键
- 减选时,额外按住 Alt 键
这里要注意一点的是,在减选时,按住 Alt 键然后使用鼠标左键是无效的,而需要使用鼠标中键或者鼠标右键 + Shift。这里我仅在 Windows 下尝试,其他平台未实验过。使用键盘加选时:
- Ctrl + Alt + Up
- Ctrl + Alt + Down
Mac OS X 下使用鼠标选择:
- 鼠标左键 + Option
- 鼠标中键
- 加选时,额外按住 Command 键
- 减选时,额外按住 Command + Shift 键
使用键盘加选时:
- Ctrl + Shift + Up
- Ctrl + Shift + Down
Linux 下使用鼠标选择:
- 鼠标右键 + Shift
- 加选时,额外按住 Ctrl 键
- 减选时,额外按住 Alt 键
使用键盘加选时:
- Ctrl + Alt + Up
- Ctrl + Alt + Down
还有一个非常有用的快捷键 Ctrl + D,用来查找下一个和当前选中文本相同的文本,并且进行加选。在编程开发中,使用此快捷键我们可以非常方便的批量修改变量的命名。在我们使用 Ctrl + D 的过程中,如果希望跳过下一个被加选的文本,使用 Ctrl + K,Ctrl + D。
另外还有一些有用的快捷键:
- Ctrl + U 取消上一个选择
- Ctrl + L 用于选中整行
- Ctrl + Shift + L 当我们选中多行文本的时候,使用此快捷键能够让被选中的每一行分别被选择,听起来很难理解,看一下例子:
首先选中多行,如下图:然后敲击 Ctrl + Shift + L,则结果如下图:
- Alt + Shift + 光标,使用光标一次选中一个词
- Ctrl + Shift + M,选中括号中的内容,包括 (),{},[] 等
- Ctrl + Shift + J,选中缩进级别相同的行
- Ctrl + Shift + 空格,选中一个范围(Scope)内的所有内容
如果你觉得这些还不够用,那么可以在菜单栏 Edit,Selection,Find,Goto 来找你需要的功能。
查找和替换
个人认为查找功能是一个编辑器的最核心功能之一,我们现在来研究一下 Sublime Text 的查找和替换。Sublime Text 允许使用正则表达式,正则表达式的内容有点复杂,这里不谈。
查找和替换的快捷键:
- Ctrl + F 打开查找框
- Ctrl + Shift + F 打开查找框,用于在多个文件或文件夹中查找
- F3 查找下一个
- Shift + F3 查找上一个
- Ctrl + H 打开替换框
- Ctrl + Shift + H 替换当前查找到的内容
- 如果使用过 VIM 的同学就知道,在一个词上敲击 * 键就可以查找本文件中所有相同的词,同样的功能 Sublime Text 使用快捷键 Ctrl + F3 来实现,使用 Alt + F3 则是查找并选中所有的词
- 很多时候,我们需要选择一块文本,然后在文中进行查找,这时候敲击 Ctrl + E 就会拷贝文本到查找框中,敲击 Ctrl + Shift + E 就会拷贝文本到替换框中
- Ctrl + Shift + F3,用于在多个文件或文件夹中查找
查找的时候可以选择是否匹配整个词、是否大小写敏感。
在使用的过程中,我们随时可以在菜单栏 Find 中找到上述的所有功能。
构建系统
在编程开发中,构建系统经常被使用。在 Sublime Text 中,如何进行构建需要通过 JSON 文件来指定,此 JSON 文件的后缀为 .sublime-build,这里看一个例子:
- {
- "cmd":["python","-u","$file"],
- "file_regex":"^[ ]*File \"(...*?)\", line ([0-9]*)",
- "selector":"source.python"
- }
- cmd 用于指定构建的命令,后面接上的数组的元素的含义依次是:构建命令名、构建的参数、构建的文件名
- file_regex 指定一个 perl 风格的正则表达式,用于匹配构建时输出的错误信息,我们可以按 F4 进行相关跳转
- selector 用于 Sublime Text 自动查找构建系统
此类的 JSON 文件被放在对应的 Package 中。更加完整的信息参考:http://docs.sublimetext.info/en/latest/reference/build_systems.html
文件导航和文件管理
下面的内容会涉及到文件和 Buffer 两个概念,但是为了简单的解释 Sublime Text 的用法,我使用更加通俗的说法,而不区分文件和 Buffer 两个概念。
Goto anything 的功能之一就是能够方便的定位打开的文件,打开 Goto anything 使用快捷键 Ctrl + P。我们在 Goto anything 中输入时,文件名会被搜索,最佳匹配的文件会被定位:
- 所有打开的文件的文件名会被搜索
- 所有打开的目录中的文件名会被搜索
正如 Goto anything 其名一样,它的功能不仅仅是定位文件,它还可以完成 fuzzy search(模糊搜索)。在 Goto anything 中输入 # 表示开始一个模糊搜索(或者直接使用快捷键 Ctrl + ; 表示在当前文件中进行模糊搜索),例如:
- filename#content
这表示在最佳匹配 filename 的文件中模糊搜索 content。
类似的,我们还可以在 Goto anything 中输入 : 后接数字表示跳转到特定的行(或者直接使用快捷键 Ctrl + G 表示在当前文件中进行行跳转)。
项目(Projects)是一组文件和目录,在软件开发中,很多的 IDE 都提供我们创建一个项目的功能。项目相关的功能可以在菜单 Project 中找到。每个项目会有两个相关的 JSON 文件,它们后缀名为 .sublime-project 和 .sublime-workspace,其中 .sublime-workspace 被 Sublime Text 使用,我们不应该去编辑它。如果你已经尝试创建一个项目,那么你就会发现多出了一个侧边栏(Sidebar),打开或关闭侧边栏使用快捷键 Ctrl + K,Ctrl + B。快捷键 Ctrl + 0 可以让侧边栏成为焦点(Esc 则取消焦点)。
自动化操作
一个优秀的编辑器不能少了宏。宏是最基本的自动化设施,由一组连续的命令组成。敲击 Ctrl + Q 开始录制宏,之后我们的操作将被记录,再次敲击 Ctrl + Q 停止录制宏。敲击 Ctrl + Shift + Q 则执行当前录制的宏,即执行被记录的操作。
Snippets(片段)的使用。我们在编写代码的时候,总是存在一些需要重复敲击的代码,例如 C 语言中 main 函数,我们总是这么写:
- int main(int argc,charconst*argv[])
- {
- return0;
- }
在 Sublime Text 中,我们只需要在 C 源文件中敲击 main + Tab 就会自动输出上面的代码,非常方便。本文只是简介,那么就不深入探讨这个问题了。
Command Palette(命令控制板)。敲击 Ctrl + Shift + P 可以打开 Command Palette,Command Palette 列出了一系列的可执行的命令。例如,我们可以通过 Command Palette 来指定如何对当前文件进行语法高亮。
其他
注释代码和取消注释:Ctrl + / 对选中的代码注释或者取消注释