Vim常用命令备忘

一、Vim支持模式

  • 普通模式:打开文件时的默认模式,在其他模式下按Esc键都可返回到该模式。
  • 插入模式:在普通模式下按i/a/o键进入该模式,进行文本编辑操作。
  • 命令行模式:在普通模式下输入:后会进入该模式,在该模式下输入命令,敲回车执行命令。
  • 可视化模式:在普通模式下按v/V/Ctrl+v键会进入可视化模式,在该模式下移动光标可以选中一块文本。

二、Vim常用命令

1. 光标移动

  • k:光标向上移动一个字符。
  • j:光标向下移动一个字符。
  • h:光标向左移动一个字符。
  • l:光标向右移动一个字符。
  • w:光标移动到下一个单词的开头。
  • W:光标移动到下一个单词的开头(忽略标点符号)。
  • b:光标移动到上一个单词的开头。
  • B:光标移动到上一个单词的开头(忽略标点符号)。
  • e:光标移动到下一个单词的词尾。
  • E:光标移动到下一个单词的词尾(忽略标点符号)。
  • ge:光标移动到上一个单词的词尾。
  • 3w:指定光标移动3次,移动到下下个单词的开头。
  • $:光标移动到当前行的行尾。
  • 0:光标移动到当前行的行首。
  • ^:光标移动到当前行的第一个非空字符。
  • 3|:光标移动到当前行的第3列。
  • f,:光标移动到当前行的第1个字符,上,;继续移动到下一个。
  • 3f,:光标移动到当前行的第3个字符,上。
  • t,:光标移动到当前行的第1个字符,前。
  • 3t,:光标移动到当前行的第3个字符,前。
  • %:符号间的移动,在()/[]/{}之间跳跃。
  • *:查找光标所在处的单词,向下查找。
  • #:查找光标所在处的单词,向上查找。
  • 10G:光标跳转到第10行。
  • gg:光标移动到文件的开头。
  • G:光标移动到文件的末尾。
  • H:光标移动到当前屏幕的开始。
  • M:光标移动到当前屏幕的中间。
  • L:光标移动到当前屏幕的末尾。
  • Ctrl+g:查看光标的位置状态。
  • Ctrl+u:光标向上半屏滚动。
  • Ctrl+d:光标向下半屏滚动。
  • Ctrl+f:光标向前全屏滚动。
  • Ctrl+b:光标向后全屏滚动。

2. 文本操作

  • i:在光标前面插入字符。
  • I:在当前行的行首插入字符。
  • a:在光标后面追加字符。
  • A:在当前行的行尾追加字符。
  • o:在光标的下一行插入字符。
  • O:在光标的上一行插入字符。
  • x:剪切光标所在处的字符。
  • X:剪切光标左边的字符。
  • dw:删除当前单词。
  • dd:删除当前行。
  • 2dd:删除当前行和下一行。
  • ddp:置换当前行和下一行。
  • dt,:删除,前所有内容。
  • yw:复制当前单词。
  • yy:复制当前行。
  • 2yy:复制当前行和下一行。
  • p:粘贴,注意是粘贴到光标后面。
  • cc:删除当前行并进入编辑模式。
  • cw:删除当前字,并进入编辑模式。
  • c$:擦除从当前位置至行末的内容,并进入编辑模式。
  • s:删除当前字符并进入编辑模式。
  • S:删除光标所在行并进入编辑模式。
  • xp:交换当前字符和下一个字符。
  • r,:置换当前字符为,
  • J:删除一个分行符,将当前行与下一行合并。
  • ~:切换大小写,当前字符。
  • ==:自动缩进当前行。
  • >>:将当前行右移一个单位(一个tab符)。
  • <<:将当前行左移一个单位(一个tab符)。
  • u:撤销上一条命令。
  • Ctrl+r:重做撤销的命令。
  • .:重复执行上一条命令。

3. 查找置换

  • :/string:在普通模式下输入/string并回车,即可正向往下查找字符串string,n下一个,N上一个。
  • :?string:输入?string并回车,即可反向往上查找字符串string,n上一个,N下一个。
  • :s/old/new:将当前行的第一个字符串old替换为new。
  • :s/old/new/g:将当前行的所有字符串old替换为new。
  • :%s/old/new/g:将文件中所有字符串old替换为new。
  • :%s/^old/new/g:将文件中所有以old开头的字符串替换为new。

4. 保存退出

  • :q:若文件没有修改,则直接退出。
  • :q!:若文件已修改,则放弃修改,退出。
  • :wq:若文件已修改,则保存修改,退出。
  • :x:若文件已修改,则保存修改,退出。
  • :e!:若文件已修改,则放弃修改,恢复文件打开时的状态。
  • ZZ:普通模式保存修改,退出。

5. 多文件编辑

  • vim file1..:同时打开多个文件。
  • :args:显示当前编辑文件。
  • :next:切换到下个文件。
  • :prev:切换到前个文件。
  • :next!:不保存当前编辑文件并切换到下个文件。
  • :prev!:不保存当前编辑文件并切换到上个文件。
  • :wnext:保存当前编辑文件并切换到下个文件。
  • :wprev:保存当前编辑文件并切换到上个文件。
  • :first:定位首文件。
  • :last:定位尾文件。
  • Ctrl+^:快速在最近打开的两个文件间切换。

6. 多窗口编辑

  • :split[sp]:把当前文件水平分割。
  • :vsplit[vsp]:把当前文件垂直分割。
  • :split[sp] file:把当前窗口水平分割。
  • :vsplit[vsp] file:把当前窗口垂直分割。
  • :close:关闭当前窗口。
  • :only:只显示当前窗口,关闭所有其他的窗口。
  • :all:打开所有的窗口。
  • :vertical all:打开所有的窗口,垂直打开。
  • :qall:对所有窗口执行:q操作。
  • :qall!:对所有窗口执行:q!操作。
  • :wall:对所有窗口执行:w操作。
  • :wqall:对所有窗口执行:wq操作。
  • Ctrl+w h:跳转到左边的窗口。
  • Ctrl+w j:跳转到下面的窗口。
  • Ctrl+w k:跳转到上面的窗口。
  • Ctrl+w l:跳转到右边的窗口。
  • Ctrl+w w:跳转到下一个窗口。
  • Ctrl+w t:跳转到最顶上的窗口。
  • Ctrl+w b:跳转到最底下的窗口。
  • Ctrl+w H:将当前窗口移动至左边。
  • Ctrl+w J:将当前窗口移动至下面。
  • Ctrl+w K:将当前窗口移动至上面。
  • Ctrl+w L:将当前窗口移动至右边。
  • Ctrl+w c:关闭当前的窗口。
  • Ctrl+w q:关闭当前的窗口(最后一个)。

7. 多标签编辑

  • :tabedit file:在新标签中打开文件。
  • :tab split file:在新标签中打开文件。
  • :tabp:切换到前一个标签。
  • :tabn:切换到后一个标签。
  • :tabc:关闭当前标签。
  • :tabo:关闭其他标签。
  • gt:到下一个标签。
  • gT:到上一个标签。
  • 0gt:跳到第一个标签。
  • 5gt:跳到第五个标签。

8. 目录操作

  • vim .:打开当前目录。
  • vim [dir]:打开指定目录。
  • :Exp[Explore]:打开当前文件的目录(水平)。
  • :Vexp[Vexplore]:打开当前文件的目录(垂直)。
  • <Enter>:当前窗口打开文件,输入:b#返回。
  • o:新窗口打开文件,输入Ctrl+w c关闭。
  • t:新标签打开文件,输入Ctrl+w c关闭。

9. 运行命令

  • :sh:可以运行相当于在字符模式下,用exitCtrl+D返回VIM。
  • :![command]:运行Shell命令,结束后自动回到VIM。
  • :!make:直接在当前目录下运行make指令。

10. 可视化操作

  • v:字符选择模式,选中光标经过的所有字符。
  • V:行选择模式,选中光标经过的所有行。
  • Ctrl+v:块选择模式,选中一整个矩形框表示的所有文本。
  • y,x,d,p:可视化模式下的复制,剪切,删除,粘贴。
  • <,>,=:可视化模式下的缩进,对齐。

11. 其他命令

  • :set nu:显示行号。
  • :set nonu:关闭显示行号。
  • :set hls:高亮显示搜索中匹配的内容。
  • :set nohls:关闭高亮显示搜索中匹配的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值