vim常用命令汇总,先上涨从网上找来的汇总图,可以用来做桌面。

文件命令
| 命令 |
操作 |
| vim file |
打开文件 |
| vim file1,file2,file3 |
同时打开多个文件 |
| :open file |
在新窗口中打开文件 |
| :bn |
切换到上一个文件 |
| :bp |
切换到下一个文件 |
| :args |
查看当前打开的文件列表 |
| :w filename |
保存到filename |
| :#,# w filename |
保存部分文件内容#~#之间 |
| :r filename |
向当前插入其他文件的内容 |
| :q! |
不保存退出 |
| :wq |
保存并退出 |
| :e! |
放弃所有修改退出 |
移动命令
| 命令 |
操作 |
| h/j/k/l |
向⬅️/⬇️/⬆️/➡️移动 |
| w/b |
下一个/上一个单词开头 |
| e/ge |
下一个/上一个单词结尾 |
| W/B |
和w/b相同,但跳过符号 |
| 0 |
本行第一个字符上 |
| ^ |
本行第一个非空白字符 |
| $ |
行尾 |
| % |
查找匹配的括号 |
| {/} |
上一段/下一段 |
| gg |
文件头部 |
| G |
文件结尾 |
| :line |
到第line行 |
| C-d/C-u |
向下/向上滚到半屏 |
| C-f/C-b |
向下/向上滚到一屏 |
编辑命令
| 命令 |
操作 |
| i/a |
当前位置之前/之后插入 |
| I/A |
当前行行首/行尾插入 |
| o/O |
当前行之后/之前插入一行 |
| s/old/new |
old替换new,只替换一个 |
| [%/#,#]s/old/new/g |
old替换new,替换当前行所有,%是全文,#,#是指两行之间 |
| x |
删除当前字符 |
| X |
删除当前字符的前一个字符 |
| dl/dh |
=x/X |
| dd/dj/dk |
删除当前行/上一行/下一行 |
| yy |
拷贝当 前行 |
| p/P |
在当前行后/前粘贴 |
| v选择后+y |
可视模式选择后复制 |
| :1,10 co 20 |
1到10行拷贝到20行之后 |
| :1,10 m 20 |
1到10行移动到20行之后 |
| </> |
缩进/反缩进 |
| C-n/C-p |
在编辑模式下自动补齐 |
查找命令
| 命令 |
操作 |
| /text |
正向查找text,n下一个,N上一个 |
| ?text |
反向查找text,n下一个,N上一个 |
| */# |
对当前词正向/反向查找 |
| fx |
向后搜索x |
| :set ignorecase |
忽视大小写 |
| :set hlsearch |
高亮搜索 |
| :set incsearch |
逐步搜索,对当前输入的进行搜索 |
| :set noxxxx |
xxxx对应以上操作,指取消选项 |
| :set wrapscan |
重新搜索 |
窗口命令
| 命令 |
操作 |
| new/split/vsplit |
打开一个新窗口,最后一个水平 |
| C-w+方向 |
移动到指定窗口 |
| :close/q |
关闭窗口,如果只有个一个窗口,q会退出vim |
控制命令
| 命令 |
操作 |
| u |
撤销最后执行的命令 |
| U |
修正整行 |
| C-r |
Redo命令 |
| C-g |
显示光标所在行位置及文件状态信息 |
| . |
重复上一次命令 |
| v |
可视化模式 |
| C-v |
可视化块模式 |
其它命令