移动
h, ← |
向左移动 |
l, → |
向右移动 |
j, ↓ |
向下移动 |
k, ↑ |
向上移动 |
w |
移到下一小单词的开头 |
b |
移到上一小单词的开头 |
e |
移到下一小单词的结尾 |
W |
移到下一大单词的开头 |
B |
移到上一大单词的开头 |
E |
移到下一大单词的结尾 |
t |
搜索到下一个字符前 |
f |
搜索下一个字符 |
T |
搜索到上一个字符后 |
F |
搜索上一个字符 |
G |
转到第 <n> 行 |
Alt-. |
重复上次移动 (f, t 或 m) |
Home |
移到行首 |
End |
移到行尾 |
Ctrl-b, PageUp |
上移一页 |
Ctrl-f, PageDown |
下移一页 |
Ctrl-u |
上移半页 |
Ctrl-d |
下移半页 |
Ctrl-i |
向前跳转 |
Ctrl-o |
向后跳转 |
Ctrl-s |
将当前选区存到跳转列表 |
子模式
v |
进入选择/扩展模式 |
g |
进入转到模式 |
m |
进入配对模式 |
: |
进入命令模式 |
z |
进入查看模式 |
Z |
进入常驻的查看模式 |
Ctrl-w |
进入窗口模式 |
Space |
进入空格模式 |
从常规模式进入, 一般在完成一条命令后返回常规模式.
空格模式
f |
打开文件选择器 |
F |
在当前工作目录打开文件选择器 |
b |
打开缓冲区选择器 |
j |
打开跳转列表选择器 |
g |
调试 (试验性) |
k |
在一个弹出框显示光标所在项的文档 (LSP) |
s |
打开文档符号选择器 (LSP) |
S |
打开工作空间符号选择器 (LSP) |
d |
打开文档诊断选择器 (LSP) |
D |
打开工作空间诊断选择器 (LSP) |
r |
重命名符号 (LSP) |
a |
应用代码行为 (LSP) |
h |
选中符号引用 (LSP) |
' |
打开最近的模糊选择器 |
w |
进入窗口模式 |
p |
在选区后方粘贴系统剪贴板 |
P |
在选区前方粘贴系统剪贴板 |
y |
拼接选区, 并复制到系统剪贴板 |
Y |
复制主选区到系统剪贴板 |
R |
用系统剪贴板内容替换选区 |
/ |
在工作空间目录全局搜索 |
? |
打开命令面板 |
配对模式
m |
转到配对的括号 (TS) |
s <char> |
同字符 <char> 包围选区 |
r <from><to> |
将包围字符从 <from> 改为<to> |
d <char> |
删除包围字符 <char> |
a <object> |
选中周围的文本对象 |
i <object> |
选中内部的文本对象 |
Shell
| |
通过管道将每个选区提供给 shell 命令, 替换为输出 |
Alt-| |
通过管道将每个选区提供给 shell 命令, 忽略输出 |
! |
运行 shell 命令, 在每个选区前插入输出 |
Alt-! |
运行 shell 命令, 在每个选区后追加输出 |
$ |
通过管道将每个选区提供给 shell 命令, 当返回值为 0 时保持选区 |
将选区内容提供给 shell 命令, 并用输出更改选区.
|
|
更改
r |
用一个字符替换 |
R |
用复制的文本替换 |
~ |
翻转选中文本的大小写 |
` |
将选中的文本变为小写 |
Alt-` |
将选中的文本变为大写 |
i |
在选区前插入 |
a |
在选区后插入 (追加) |
I |
在行首插入 |
A |
在行尾插入 |
o |
在选区下方插入新行 |
O |
在选区上方插入新行 |
. |
重复上次插入 |
u |
撤销 |
U |
重做 |
Alt-u |
移动到前一历史位置 |
Alt-U |
移动到后一历史位置 |
y |
复制选区 |
p |
在选区后粘贴 |
P |
在选区前粘贴 |
"<reg> |
对特定寄存器复制或粘贴 |
> |
增加选区缩进 |
< |
减少选区缩进 |
= |
根据 LSP 格式化选区 (当前不可用) |
d |
删除选区 |
Alt-d |
删除选区, 但不复制 |
c |
更改选区 (删除并进入插入模式) |
Alt-c |
更改选区 (删除, 进入插入模式, 但不复制) |
Ctrl-a |
在光标处递增对象 (数目) |
Ctrl-x |
在光标处递减对象 (数目) |
Q |
启动/停止到选定寄存器的宏记录 (实验性) |
q |
从选定的寄存器回放宏记录 (实验性) |
查看模式
z, c |
将当前行垂直居中 |
t |
将当前行置于屏幕上方 |
b |
将当前行置于屏幕下方 |
m |
将当前内容水平居中 |
j, down |
向下滚动 |
k, up |
向上滚动 |
Ctrl-f, PageDown |
向下移动页面 |
Ctrl-b, PageUp |
向上移动页面 |
Ctrl-d |
向下移动半个页面 |
Ctrl-u |
向上移动半个页面 |
在常规模式下键入 z
可访问查看模式, 键入大写的 Z
可进入常驻的查看模式.
插入模式
Escape |
切换到常规模式 |
Ctrl-s |
提交撤销的检查点 |
Ctrl-x |
自动完成 |
Ctrl-r |
插入一个寄存器内容 |
Ctrl-w, Alt-Backspace |
删除上一个单词 |
Alt-d, Alt-Delete |
删除下一个单词 |
Ctrl-u |
删除到行首 |
Ctrl-k |
删除到行尾 |
Ctrl-h, Backspace, Shift-Backspace |
删除前一个字符 |
Ctrl-d, Delete |
删除下一个字符 |
Ctrl-j, Enter |
插入新行 |
选择器
Shift-Tab, Up, Ctrl-p |
上一项 |
Tab, Down, Ctrl-n |
下一项 |
PageUp, Ctrl-u |
上一页 |
PageDown, Ctrl-d |
下一页 |
Home |
转到第一项 |
End |
转到最后项 |
Enter |
打开所选 |
Ctrl-s |
在水平分割窗口打开 |
Ctrl-v |
在垂直分割窗口打开 |
Ctrl-t |
切换预览 |
Escape, Ctrl-c |
关闭选择器 |
|
|
选区操作
s |
在选区内选中所有正则匹配 |
S |
在正则匹配处将选区分割为子选区 |
Alt-s |
从换行符处分割选区 |
Alt-minus |
合并多个选区 |
Alt-_ |
合并连续的选区 |
& |
在各列处对齐选区 |
_ |
修剪选区中的空白 |
; |
将选区折叠到单个光标 |
Alt-; |
翻转选区光标和锚点 |
Alt-: |
确保选区是向前的 |
, |
仅保留主选区 |
Alt-, |
移除主选区 |
C |
将选区复现到下一行 (在下方添加光标) |
Alt-C |
将选区复现到上一行 (在上方添加光标) |
( |
向后旋转主选区 |
) |
向前旋转主选区 |
Alt-( |
向后旋转主选区内容 |
Alt-) |
向前旋转主选区内容 |
% |
选中整个文件 |
x |
选中当前行, 如果已选, 扩展选区到下一行 |
X |
扩展选区到行范围 |
Alt-x |
收缩选区到行范围 |
J |
在选区内合并行 |
Alt-J |
在选区内合并行并选中插入的空格 |
K |
保留与正则匹配的选区 |
Alt-K |
移除与正则匹配的选区 |
Ctrl-c |
注释/取消注释选区 |
Alt-o, Alt-up |
扩展选区到父语法节点 (TS) |
Alt-i, Alt-down |
收缩语法树对象选区 (TS) |
Alt-p, Alt-left |
选中语法树中的上一个兄弟节点 (TS) |
Alt-n, Alt-right |
选中语法树中的下一个兄弟节点 (TS) |
转到模式
g |
转到第 <n> 或文件开头 |
e |
转到文件末尾 |
f |
转到选区中的文件 |
h |
转到行首 |
l |
转到行尾 |
s |
转到当前行的第一个非空白字符 |
t |
转到屏幕顶部 |
c |
转到屏幕中部 |
b |
转到屏幕底部 |
d |
转到定义 (LSP) |
y |
转到类型定义 (LSP) |
r |
转到引用 (LSP) |
i |
转到实现 (LSP) |
a |
转到最近访问/轮换的文件 |
m |
转到最近修改/轮换的文件 |
n |
转到下一个缓冲区 |
p |
转到上一个缓冲区 |
. |
转到当前文件的最近修改位置 |
j |
向下移动文本行 (非可视行) |
k |
向上移动文本行 (非可视行) |
搜索
/ |
向后正则搜索 |
? |
向前正则搜索 |
n |
选中下一个匹配的搜索结果 |
N |
选中上一个匹配的搜索结果 |
* |
使用当前选区作为搜索模式 |
从常规模式下进行搜索. 搜索命令默认作用于 /
寄存器. 要使用不同的寄存器, 请使用 "<char>
.
窗口模式
w, Ctrl-w |
转到下一个窗口 |
v, Ctrl-v |
用垂线左右分割窗口 |
s, Ctrl-s |
用水平线上下分割窗口 |
f |
使用水平分割转到选区中的文件 |
F |
使用垂直分割转到选区中的文件 |
h, Ctrl-h, Left |
转到左侧的分割窗口 |
l, Ctrl-l, Right |
转到右侧的分割窗口 |
k, Ctrl-k, Up |
转到上方的分割窗口 |
j, Ctrl-j, Down |
转到下方的分割窗口 |
q, Ctrl-q |
关闭当前窗口 |
o, Ctrl-o |
保留当前窗口, 关闭其他窗口 |
H |
将窗口互换值左侧 |
L |
将窗口互换值右侧 |
K |
将窗口互换值上方 |
J |
将窗口互换值下方 |
|