切换命令需先按ESC键
编辑(插入)模式
1 | |
2 | i => 插入光标前一个字符 |
3 | |
4 | I => 插入行首 |
5 | |
6 | a => 插入光标后一个字符 |
7 | |
8 | A => 插入行末 |
9 | |
10 | o => 向下新开一行,插入行首 |
11 | |
12 | O => 向上新开一行,插入行首 |
移动光标
1 | h => 左移 |
2 | |
3 | j => 下移 |
4 | |
5 | k => 上移 |
6 | |
7 | l => 右移 |
8 | |
9 | M => 光标移动到中间行 |
10 | |
11 | L => 光标移动到屏幕最后一行行首 |
12 | |
13 | G => 移动到指定行,行号 -G |
14 | |
15 | w => 向后一次移动一个字 |
16 | |
17 | b => 向前一次移动一个字 |
18 | |
19 | 0 => 数字零,到本行头 |
20 | |
21 | $ => 到本行行尾 |
22 | |
23 | { => 按段移动,上移 |
24 | |
25 | } => 按段移动,下移 |
26 | |
27 | ctrl+d => 向下翻半屏 |
28 | |
29 | ctrl+u => 向上翻半屏 |
30 | |
31 | ctrl+f => 向下翻一屏 |
32 | |
33 | ctrl+b => 向上翻一屏 |
34 | |
35 | gg => 光标移动到文件开头 |
36 | |
37 | G => 光标移动到文件末尾 |
删除
1 | x => 删除光标后一个字符,相当于 Del |
2 | |
3 | X => 删除光标前一个字符,相当于 Backspace |
4 | |
5 | dd => 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符 |
6 | |
7 | d0 => 删除光标前本行所有内容,不包含光标所在字符 |
8 | |
9 | dw => 删除光标开始位置的字,包含光标所在字符 |
10 | |
11 | :.,$-1d => 删除光标行到最后一行之间的内容 |
撤销命令
1 | u => 一步一步撤销 |
2 | |
3 | Ctr+r => 反撤销 |
文本行移动
1 | >> => 文本行右移 |
2 | |
3 | << => 文本行左移 |
复制粘贴
1 | yy => 复制当前行,n yy 复制 n 行 |
2 | |
3 | p => 在光标所在位置向下新开辟一行,粘贴 |
可视模式
1 | v => 按字符移动,选中文本 |
2 | |
3 | V => 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动 |
跳转行
1 | :12 => 跳转到12行 |
搜索
1 | /the 搜索the (如果搜索出多个匹配,可按n键到下一个,N则切换到上一个) |
退出
1 | wq => 保存退出 |
2 | |
3 | q => 退出 |
4 | |
5 | q! => 强制退出 |
6 | |
7 | ctrl+Z => 临时退出vim 页面 |
8 | |
9 | fg => 返回临时退出的页面 |
替换操作
1 | |
2 | r => 替换当前字符 |
3 | |
4 | R => 替换当前行光标后的字符 |
查找命令
1 | |
2 | /: => str 查找 |
3 | |
4 | n => 下一个 |
5 | |
6 | N => 上一个 |
替换命令
1 | |
2 | 末行模式下,将光标所在行的abc替换成123 |
3 | |
4 | :%s/abc/123/g |
5 | |
6 | 末行模式下,将第一行至第10行之间的abc替换成123 |
7 | |
8 | :1, 10s/abc/123/g |