我掌握的vim常用命令梳理

前言

我平时用vim不多,用到的时候大部分是在git commit。
但是前前后后用了这么久,还是大致记住了一些命令,都是使用频率比较高的(使用频率低的自然也没记住)。这里总结一下。

首先是vim最迷惑人的退出了。(注意’:‘也是命令的一部分,’:'表示进入命令模式。)
退出 :q
保存 :w
保存并退出 :wq
保存并退出 ZZ

1.光标跳转

翻页

向下全屏翻页 ctrl+f
向上全屏翻页 ctrl+f
向下半屏翻页 ctrl+d
向上半屏翻页 ctrl+u

光标移动

上 j 下 k 左 h 右 l

全文跳转

跳转到全文第一行 gg
跳转到全文最后一行 G
跳转到全文第n行 nG ;例如,想跳转到全文的第9行,则依次按下 9, shift+G

行内跳转

跳到行首 ^ 或数字 0
跳到行尾 $
跳到行首并进入插入模式 I
跳到行尾并进入插入模式 A

跳转到其他行

跳到下一行行尾 2$
跳到下n行行尾 (n+1) , 比 如 想 跳 转 到 当 前 行 之 后 的 第 1 行 , 命 令 为 2 , 比如想跳转到当前行之后的第1行,命令为2 12;跳转到当前行之后的第5行,命令为6$。以此类推。

按单词跳转

跳转到下一个单词 w(单词以空格、标点符号分界)或者 W(单词只以空格分界)
跳转到上一个单词 b (单词以空格、标点符号分界)或者 B(单词只以空格分界)

2.修改内容

插入

在光标当前位置进入插入模式 i
在当前行行首进入插入模式 I
在光标当前位置的右侧字母后进入插入模式 a
在当前行行尾进入插入模式 A

删除(上一条删除的内容其实进入了剪贴板,可以用p或P粘贴到指定位置)

删除光标后一个字母 x
删除光标前一个字母 X
删除当前行 dd
删除光标所在单词中,光标右侧的字符 dw
删除光标所在行中,光标右侧的字符 d$
删除光标所在行开始的后续多行 d待删除的行数d ;比如要一次删除连续的5行,则命令为d5d
删除光标所在行开始的后续全部行 dG
删除光标所在行及其之前的全部行 dgg

复制到剪贴板

复制当前行 yy
复制当前行在内的后续n行 yny,比如复制当前行及其之后的5行,则命令为y5y
复制指定行号范围 :起始行号,结束行号,y 比如复制全文的第4~第8行,则命令为 :4,8y

从剪贴板粘贴到当前位置

将剪贴板内容粘贴到光标当前位置之后 p
将剪贴板内容粘贴到光标当前位置之前 P

3.搜索查找

向光标前搜索特定字符,比如想搜索在光标之后出现的’hello’这个单词,就输入命令 /hello 然后回车
向光标后搜索特定字符,比如想搜索在光标之前出现的’hello’这个单词,就输入命令 ?hello 然后回车
说明:

  • 搜索支持正则表达式。例如/vim$匹配行尾的"vim"。
  • 搜索特殊字符需要转义,例如/vim$匹配"vim$"
  • 在搜索命令中加入\c表示大小写不敏感,\C表示大小写敏感

搜索光标所在单词 * (要求单词每次出现的前后为空白字符或标点符号)
搜索光标所在单词 g* (单词每次出现前后字符无要求,即该单词可以作为其他单词中的一部分。例如"hat"之于"what")
跳转到下一个匹配搜索的位置 n
跳转到上一个匹配搜索的位置 N

4.替换

?(substitute)命令用来查找和替换字符串。语法如下:
:作用范围s/目标/替换/替换标志
例如 :%s/foo/bar/g 会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)
又如 :1,3s/aaa/bbb/8 会在1~3行查找aaa并替换为bbb,只有前8次出现会被替换
关于替换命令,更详细的可见博文https://www.cnblogs.com/huxinga/p/7942194.html

5.记录功能

在普通模式下,按q和某个寄存器按键{寄存器按键a-z,0-9,且不区分大小写},即可开始录入一组按键,录入完毕后,再按q即可保存录入。
例如我在按键a中记录一组命令,这组命令实现的功能是删除当前行,则依次按如下键:
q(进入记录功能)a(选择寄存器a来记录这组指令)dd(指令的内容)q(结束记录,退出记录模式)
注意中间不要有多余按键。因为vim的记录功能是完整记录该功能中所有按键被键入的顺序,中间如果有无效的操作也会被一并记录。
想要使用按键a中记录的那组命令,则依次按如下键 @a

5.历史命令

查看vim中的历史命令 :history
查看vim中历史命令 q: (待研究)

6.其他

重复上一命令 .
撤销上一命令 u

==========================
未完待续…主要包括用vim打开多个文件、切换文件、分裂窗口等内容。
介绍vim打开多个文件的博客链接在此 https://blog.csdn.net/u012062455/article/details/78640456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值