Vim 键位速查
全部
按键 | 说明 |
|---|
i / a | 在光标前 / 后进入插入模式 |
I / A | 跳到行首 / 行尾并进入插入模式 |
o / O | 在下方 / 上方新建一行并插入 |
Esc | 返回普通模式 |
v / V | 进入字符可视 / 行可视模式 |
Ctrl+v | 进入块可视模式(列选) |
h j k l | 左 下 上 右(替代方向键) |
w / b | 下一个 / 上一个单词开头 |
e | 当前或下一个单词结尾 |
0 / ^ | 行首 / 行首第一个非空字符 |
$ | 行尾 |
gg / G | 跳到文件首行 / 末行 |
5G / :5 | 跳到第 5 行 |
{ / } | 上一个 / 下一个段落 |
Ctrl+d / Ctrl+u | 向下 / 向上翻半页 |
Ctrl+f / Ctrl+b | 向下 / 向上翻整页 |
zz | 当前行滚到屏幕中央 |
% | 跳到匹配的括号 |
f{字符} / t{字符} | 行内向右查找字符(停在/停在字符前) |
gd / gD | 跳到局部 / 全局变量定义 |
Ctrl+o / Ctrl+i | 跳转位置后退 / 前进 |
r{字符} | 替换光标处单个字符 |
R | 进入连续替换模式 |
cw | 改写光标处单词(删除并插入) |
cc / S | 改写整行 |
c$ / C | 改写到行尾 |
J | 把下一行合并到当前行 |
>> / << | 当前行右移 / 左移一个缩进 |
~ | 切换光标处字符大小写 |
gUU / guu | 整行转大写 / 小写 |
Ctrl+a / Ctrl+x | 光标处数字加 1 / 减 1 |
. | 重复上一次修改 |
x / X | 删除光标后 / 前一个字符 |
dw | 删除一个单词 |
dd | 删除(剪切)整行 |
5dd | 删除 5 行 |
d$ / D | 删除到行尾 |
dG / dgg | 删除到文件末尾 / 开头 |
dt{字符} | 删除到指定字符前 |
yy | 复制整行 |
3yy | 复制 3 行 |
yw / y$ | 复制单词 / 复制到行尾 |
p / P | 粘贴到光标后 / 前 |
"*y / "*p | 与系统剪贴板交互(需 +clipboard) |
xp | 交换光标处两个字符 |
/kw / ?kw | 向后 / 向前搜索 |
n / N | 跳到下一个 / 上一个匹配 |
* | 搜索光标处单词 |
:%s/old/new/g | 全文替换 |
:%s/old/new/gc | 全文替换(逐个确认) |
:s/old/new/ | 仅替换当前行第一处 |
:noh | 取消搜索高亮 |
u | 撤销 |
Ctrl+r | 重做 |
U | 撤销整行全部修改 |
:earlier 5m | 回到 5 分钟前的文本状态 |
:vsp / :sp | 垂直 / 水平分屏 |
Ctrl+w w | 在窗口间切换 |
Ctrl+w h/j/k/l | 切换到左/下/上/右窗口 |
:tabe file | 新标签页打开文件 |
gt / gT | 下一个 / 上一个标签页 |
:q / :wq | 关闭窗口 / 保存并关闭 |
v → d / y | 选中后删除 / 复制 |
V → > / < | 选中多行整体缩进 |
Ctrl+v → I … Esc | 块选后在行首批量插入 |
Ctrl+v → A … Esc | 块选后在行尾批量追加 |
gv | 重新选中上次的选择区 |
:w | 保存 |
:w !sudo tee % | 以 root 权限保存只读文件 |
:q! | 不保存强制退出 |
:wq / ZZ | 保存并退出 |
:set nu / :set nonu | 显示 / 隐藏行号 |
:set ts=2 sw=2 et | 缩进设为 2 空格 |
点击任意行可复制按键