Vim常用命令总结
目录
-
1.移动光标
命令 功能 l
或Right
向右移动一个字符 h
或Left
向左移动一个字符 j
或Down
向下移动一行 k
或Up
向上移动一行 0
移动到当前行的行首 [[
移动到代码块开头 ][
移动到代码块末尾 ^
移动到当前行的第一个非空字符 $
移动到当前行的末尾 A
移动到当前行的末尾 w
移动到下一个单词或标点符号的开头 W
移动到下一个单词的开头,忽略标点符号 b
移动到上一个单词或标点符号的开头 B
移动到上一个单词的开头,忽略标点符号 Ctrl-f
或PgDown
向下翻一页 Ctrl-b
或PgUp
向上翻一页 12 G
移动到第 number 行。例如,12G 移动到文件的第12行 GG
移动到文件末尾 gg
移动到文件末头 2.基本编辑
- 添加和撤销文本
命令 功能 i
在光标前插入文本 a
在光标后插入文本 o
当前行的下方打开一行 O
当前行的上方打开一行 u
撤销更改 ctrl + r
重做 - 删除文本
命令 功能 x
删除当前字符 3x
删除当前字符及其后的两个字符 dd
删除当前行 5dd
删除当前行及随后的四行文本 dW
删除从光标位置开始到下一个单词的开头 d$
删除从光标位置开始到当前行的行尾 do
删除从光标位置开始到当前行的行首 d^
从光标位置开始到文本行的第一个非空字符 dG
从当前行到文件的末尾 d20G
从当前行到文件的第20行 - 复制文本
命令 功能 yy
复制当前行 5yy
复制当前行及随后的四行文本 yW
复制从当前光标位置到下一个单词的开头 y$
复制从当前光标位置到当前行的末尾 y0
复制从当前光标位置到行首 y^
复制从当前光标位置到文本行的第一个非空字符 yG
复制从当前行到文件末尾 y20G
复制从当前行到文件的第20行 - 粘贴文本
命令 功能 p
粘贴到当前行的下面 P
粘贴到当前行的上面 3.查找和替换
命令 功能 :%s/Line/line/gc
将整个文件中的单词“Line”更改为“line”,需要用户确认才替换 :
冒号字符运行一个 ex 命令 %
指定要操作的行数。% 表示从第一行到最后一行;而1,$ 表示从第一行到文件的最后一行。如果省略了文本行的范围,那么操作只对当前行生效 s
指定操作。在这种情况下是替换(查找与替代) /Line/line
查找类型与替代文本 g
全局,对文本行中所有匹配的字符串执行查找和替换操作。若省略 g,则只替换每个文本行中第一个匹配的字符串。 c
需要用户确认的替换命令,省略c则直接替换 需要确认时会提示:
replace with Line (y/n/a/q/l/^E/^Y)?
,用户进行进一步处理命令 功能 y
执行替换操作 n
跳过这个匹配的实例 a
对这个及随后所有匹配的字符串执行替换操作 q 或 ESC
退出替换操作 l
执行这次替换并退出。l 是 “last” 的简写 Ctrl-e
或Ctrl-y
向下滚动和向上滚动,用于查看建议替换的上下文 4状态
命令 功能 ctrl + g
当前行信息 g + ctrl + g
字数统计