Vim 常用快捷键分类备忘单
vi
(是 visual editor 简称)编辑器是 Linux
和 Unix
上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi
是效率很高的文本编辑器。尽管在 Linux
上也有很多图形界面的编辑器可用,但 vi
在系统和服务器管理中的功能,是那些图形编辑器所无法比拟的。Vim 是 vi
的加强版,比 vi
更容易使用;这里整理下 Vim
常用快捷键命令,并按不同分类进行说明,希望可以给初用者带来方便。
移动
h,j,k,l: 左,下,上,右。
w: 下一个词的词首。
e: 下一个词的词尾。
b: 上一个词的词首。
<>: v 模式选中后进行缩进。
跳转
%: 可以匹配{},"",(),[]之间跳转。
H、M、L: 直接跳转到当前屏幕的顶部、中部、底部。
#H: 跳转到当前屏的第 # 行。
#L: 跳转到当前屏的倒数第 # 行。
zt: 当前编辑行置为屏顶。
zz: 当前编辑行置为屏中。
zb: 当前编辑行置为屏底。
G: 直接跳转到文件的底部。
gg: 跳转到文件首。
(): 跳转到当前的行首、行尾。
{}: 向上、向下跳转到最近的空行。
[{: 跳转到目前区块开头。
]}: 跳转到目前区块结尾。
0: 跳转到行首。
$: 跳转到行尾。
2$: 跳转到下一行的行尾。
#: 跳转到该行的第 # 个位置。
#G: 15G,跳转到15行。
:#: 跳转到 # 行。
f'n': 跳转到下一个"n"字母后。
ctrl+b: 向后翻一页。
ctrl+f: 向前翻一页。
ctrl+u: 向后翻半页。
ctrl+d: 向前翻半页。
ctry+e: 下滚一行。
选择
- V: 选择一行。
- ^V: 矩形选择。
- v3w: 选择三个字符。
编辑
1. 新增
i: 光标前插入。
I: 在当前行首插入。
a: 光标后插入。
A: 当前行尾插入。
O: 在当前行之前插入新行。
o: 在当前行之后插入新行。
2. 修改 c(change) 为主
r: 替换光标所在处的字符。
R: 替换光标所到之处的字符。
cw: 更改光标所在处的字到字尾处。
c#w: c3w 修改3个字符。
C: 修改到行尾。
ci': 修改配对标点符号中的文本内容。
di': 删除配对标点符号中的文本内容。
yi': 复制配对标点符号中的文本内容。
vi': 选中配对标点符号中的文本内容。
s: 替换当前一个光标所处字符。
#S: 删除 # 行,并以新文本代替。
3. 删除 d(delete) 为主
D: 删除到行尾。
X: 每按一次,删除光标所在位置的前面一个字符。
x: 每按一次,删除光标所在位置的后面一个字符。
#x: 删除光标所在位置后面 6 个字符。
d^: 删至行首。
d$: 删至行尾。
dd: (剪切)删除光标所
dw: 删除一个单词/光标之后的单词剩余部分。
d4w: 删除4个word。
#dd: 从光标所在行开始删除 # 行。
daB: 删除 {} 及其内的内容。
diB: 删除 {} 中的内容。
n1,n2 d: 将 n1, n2 行之间的内容删除。
4. 查找
/: 输入关键字,发现不是要找的,直接在按 n,向后查找直到找到为止。
?: 输入关键字,发现不是要找的,直接在按 n,向前查找直到找到为止。
*: 在当前页向后查找同一字。
#: 在当前页向前查找同一字。
5. 复制 y(yank)为主
yw: 将光标所在之处到字尾的字符复制到缓冲区中。
#yw: 复制 # 个字到缓冲区。
Y: 相当于yy, 复制整行。
#yy: 表示复制从光标所在的该行往下数 # 行文字。
p: 粘贴。所有与y相关的操作必用p来结合粘贴。
n1,n2 co n3: 复制第 n1 行到第 n2 行之间的内容到第 n3 行后面。
6. 大小写转换
gUU: 将当前行的字母改为大写。
guu: 将当前行的字母改为小写。
gUw: 将当前光标下的单词改为大写。
guw: 将当前光标下的单词改为小写。
gg: 光标到文件第一个字符。
gu: 把选择范围全部小写。
G: 到文件结束。
ggguG: 整篇小写。
gggUG: 整篇大写。
7. 其它
J: 当前行和下一行合并成一行。
8. 移动
n1,n2 m n3: 将 n1 行到 n2 行之间的内容移至 n3 行下。
退出
- w filename: 保存正在编辑的文件 filename
- wq filename: 保存后退出正在编辑的文件 filename
- q: 退出不保存。
窗口操作
- ctrl+w p: 在两个分割窗口之间来回切换。
- ctrl+w j: 跳到下面的分割窗
- ctrl+w h: 跳到左边的分割窗。
- ctrl+w k: 跳到上面的分割窗。
- ctrl+w l: 跳到右边的分割窗。