Edit
基本编辑:
Commands | Keys |
---|---|
Undo/Redo | Ctrl + Z/Y |
软撤销 | Ctrl + U |
Copy/Paste | Ctrl + C/V |
选择过往复制 | Ctrl + K, Ctrl + V |
插入新上/下行并跳转 | Ctrl (+ Shift) + Enter |
删除前/后词 | Ctrl + Backspace/Delete |
删除至行首/尾 | Ctrl+ K, Ctrl + Backspace/K |
跳转至前/后词 | Ctrl/Alt + ←/→ |
补全 | Tab |
提示补全 | `Alt+/ |
删除Tab指定宽度 | Shift + Tab |
转换大/小写 | `Ctrl + Shift + X/Y |
(多)行/块编辑:
注:这些快捷键把光标理解为当前行;此处的块指选定文本,非语句块
Commands | Keys |
---|---|
(去)行/块注释 | Ctrl + / |
选择行 | Ctrl + L |
删除行/块 | Ctrl + X |
向上/下交换行 | `Alt + ↑/↓ |
复制行 | Ctrl + Shift + D |
合并下行 | Ctrl + J |
(去)缩进 | Ctrl + [/] |
注:Ctrl + X 和 Shift + Delete 在删除的同时复制到剪贴板
代码折叠:
Commands | Keys |
---|---|
折叠到1/2…级 | Ctrl + K, Ctrl + 1/2… |
展开全部 | Ctrl + K, Ctrl + J |
折叠/展开 | Ctrl + Shift + [/] |
书签:
Commands | Keys |
---|---|
(取消)添加书签 | Ctrl + F2 |
上/下一处书签 | (Shift +) F2 |
删除所有书签 | Ctrl + Shift + F2 |
Selection
Commands | Keys |
---|---|
无限制多处选择 | Ctrl + 左键 |
同时选择上/下行同一位置 | Ctrl + Alt + ↑/↓ |
同时选择多行同一位置 | Shift + 右键 |
选择下个相同词 | Ctrl + D |
跳过当前,选择下个相同词 | Ctrl + K, Ctrl + D |
选择所有相同词 | Ctrl + F, Alt + Enter |
选择至前/后词 | Ctrl/Alt (+ Shift) + ←/→ |
选择括号内 | Ctrl + Shift + M |
选择至同一缩进 | Ctrl + Shift + J |
注:选中(多处)文本时:输入符号可补全头尾处;Ctrl + Shift + L可选择多处/行末尾
Find
Commands | Keys |
---|---|
(反向)查找 | (Shift +) F3 |
(所有文件)查找 | Ctrl (+ Shift) + F |
替换 | Ctrl + H |
View
Commands | Keys |
---|---|
全屏 | F11 |
勿打扰模式 | Shift + F11 |
多列分屏 | Shift + Alt + 1/2/3/4 |
选择标签页 | Alt + 1/2… |
Go To
Commands | Keys |
---|---|
Go To 文件 | Ctrl + P |
Go To 行号 | Ctrl + G |
Go To (所有文件)符号 | Ctrl (+ Shift) + R |
Go To 对应括号 | Ctrl + M |
Tools
Commands | Keys |
---|---|
命令行 | Ctrl + Shift + P |
编译/运行 | Ctrl (+ Shift) + B |
(停止)录制宏 | Ctrl + Q |
运行宏 | Ctrl + Shift + Q |
File, Project, Preference, Help
File里的快捷键基本都是通用的,
如Ctrl + O, Ctrl + W, Ctrl + N, Ctrl + Shift + T…,略去
其他三者里的快捷键不大常用,也不大通用,亦略去
编辑(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
选择该词出现的下一个位置,在多重选词的过程中,使用
+ DCtrl + K
进行跳过,使用 Ctrl
进行回退,使用
+ UEsc
退出多重编辑。
多重选词的一大应用场景就是重命名——从而使得代码更加整洁。尽管Sublime Text无法像IDE(例如Eclipse)那样进行自动重命名,但我们可以通过多重选词+多重编辑进行直观且便捷的重命名:
有时我们需要对一片区域的所有行进行同时编辑, Ctrl
可以将当前选中区域打散,然后进行同时编辑:
+ Shift + L
有打散自然就有合并, Ctrl
可以把当前选中区域合并为一行:
+ J
查找&替换(Finding&Replacing)
Sublime Text提供了强大的查找(和替换)功能,为了提供一个清晰的介绍,我将Sublime Text的查找功能分为 快速查找 、 标准查找 和 多文件查找 三种类型。
快速查找&替换
多数情况下,我们需要查找文中某个关键字出现的其它位置,这时并不需要重新将该关键字重新输入一遍然后搜索,我们只需要使用 Shift + ←/→
或 Ctrl
选中关键字,然后
+ DF3
跳到其下一个出现位置, Shift
跳到其上一个出现位置,此外还可以用
+ F3Alt + F3
选中其出现的所有位置(之后可以进行多重编辑,也就是快速替换)。
标准查找&替换
另一种常见的使用场景是搜索某个已知但不在当前显示区域的关键字,这时可以使用 Ctrl + F
调出搜索框进行搜索:
以及使用 Ctrl
进行替换:
+ H
关键字查找&替换
对于普通用户来说,常规的关键字搜索就可以满足其需求:在搜索框输入关键字后 Enter
跳至关键字当前光标的下一个位置, Shift
跳至上一个位置,
+ EnterAlt + Enter
选中其出现的所有位置(同样的,接下来可以进行快速替换)。
Sublime Text的查找有不同的模式: Alt + C
切换大小写敏感(Case-sensitive)模式, Alt
切换整字匹配(Whole matching)模式,除此之外Sublime Text还支持在选中范围内搜索(Search in selection),这个功能没有对应的快捷键,但可以通过以下配置项自动开启。
+ W
"auto_find_in_selection":
true
这样之后在选中文本的状态下范围内搜索就会自动开启,配合这个功能,局部重命名(Local
Renaming)变的非常方便:
使用 Ctrl + H
进行标准替换,输入替换内容后,使用 Ctrl
替换当前关键字,
+ Shift + HCtrl + Alt + H
替换所有匹配关键字。
正则表达式查找&替换
正则表达式 是非常强大的文本查找&替换工具,Sublime Text中使用 Alt
切换正则匹配模式的开启/关闭。Sublime Text的使用 Boost里的Perl正则表达式风格 。
+ R
出于篇幅原因,本文不会对正则表达式进行详细介绍, 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行。