必须要会的vim命令

对于经常在linux端编程的人而言,vim的重要性不言而喻。最近在看《鸟哥的linux私房菜》,刚好看到vim这里,记录一下常用的一些命令。

首先要知道vim一共含有命令行模式,一般命令模式,编辑模式三种工作模式,这三种模式中,命令行模式和一般命令行模式之间可以互相切换,一般命令模式和编辑模式之间又可以互相切换。下面一张图清晰的表达这个点
在这里插入图片描述
下面根据我们编辑文本的经常使用的功能,来归纳总结一下常用的命令,

移动光标(一般命令模式下)
方向键可以移动,不过程序员没有这么勤快,hjkl会更加方便

  • h:向左移动一格
  • j:向下移动一格
  • k:向上移动一格
  • l:向右移动一格
  • n+space:表示光标移动n个字符距离,例如 20+空格,光标会移动20个字符距离
  • 0:移动到这一行最前面的字符
  • $:移动到这一行最后面的字符
  • G(注意是大写):移动到整个最后一行
  • nG:数字+G,移动到文件的指定的行
  • gg:移动到文件的第一行,相当于 1G
  • n+Enter:光标会向下移动n行
  • Ctrl+f:向下翻一页
  • Ctrl+b:向上翻一页

查找和替换(一般命令模式)

  • /word:反斜杠/+word,从光标处向下查找字符串word
  • ?word:从光标处向上寻找字符串word
  • n:重复前一个查找工作,例如 /word之后接n,直接跳到下一个word所在处
  • N:以相反的方向查找下一个
  • :n1,n2s/word1/word2/g:n1行到n2行之间把word1替换为word2
  • :1,$s/word1/word2/gc:1到最后一行之间把word1替换为word2,并返回用户一个提示

删除(一般命令模式下)

  • x:向后删除一个字符,也就是光标所占的那个字符
  • X:向前删除一个字符,光标前面的那个字符
  • nx:数字+删除,表示向后删除n个字符
  • dd:删除(剪切)光标所在的一整行
  • ndd:删除光标开始向下的n行
  • d1G:删除(剪切)第一行到最后一行的所有文本
  • dG:删除(剪切)光标所在行到最后一行的所有文本
  • d$:删除(剪切)光标所在处到该行最后的一个字符
  • d0:删除(剪切)光标所在处到该行的第一个字符

复制(一般命令模式下)

  • yy:复制光标所在的行
  • nyy:复制光标向下的n行
  • y1G:复制第一行到最后一行的所有文本
  • yG:复制光标所在行到最后一行的所有文本
  • y$:复制光标所在处到该行最后的一个字符
  • y0:复制光标所在处到该行的第一个字符

粘贴(一般命令模式下)

  • p:从光标的下一行开始粘贴
  • P(大写):从光标这行开始粘贴,原来的数据都会被顺移到粘贴内容的后面
  • J:光标所在行和下面一行结合成同一行

其他(一般命令模式下)

  • u:恢复上一步
  • Ctrl+r:重做上一步,和u刚好相反,这两个命令有点类似word里的上方的左箭头和右箭头
  • .(一个小数点):重复上一个操作

一般命令模式切换到编辑模式

  • i:从光标处开始插入
  • I:从光标行的第一个非空格符开始插入
  • a:从光标处的下一个字符处开始插入
  • A:从光标所在行的最后一个字符开始插入
  • o:从光标的下面开新的一行插入
  • O:从光标上面开新的一行插入
  • r:替换光标处的字符(仅仅一次)
  • R:替换光标处的字符(按下Esc终止)

一般命令模式切换到命令行模式进行保存退出

  • :w:保存
  • w [filename]:另存为一个文件
  • :q:退出
  • :wq!:强制保存并退出
  • ZZ:若文件没有修改,不保存退出,若修改则保存后退出
  • :n1,n2 w [filename]:n1行到n2行的内容保存到另一个文件

多文件编辑时的命令
例如复制一个文件的内容到另一个文件,因为vim的内容是独立的,因此开两个vim,复制粘贴并不会奏效,正确的做法是一个vim同时打开两个文件

vim file.txt file2.txt

然后复制一个文件的内容,再跳到下一个文件进行复制,相关命令为

  • :n:跳到下一个文件进行编辑
  • :N:跳到上一个文件进行编辑
  • :files:查看当前同时编辑的文件

vim的选中功能
vim中选中功能十分强大,对批量进行文本操作很方便,相关的命令如下

  • v:从光标字符处开始选中,可以用方向键进行选择
  • V:从光标所在行开始选中,方向键进行多行选中
  • Ctrl+v:可视化区块,可以任意选中一个矩形框的内容

上面第三个功能十分强大呢,因为以往多行选中时,每一行之间的内容是连续的,而这个命令可以实现只选中连续行的同一个部分。选中了之后,可以通过 y,d,p,进行对选中内容的复制,删除,粘贴。

分屏的功能

  • :sp [filename]:分屏打开文件,如果没有filename,两个屏幕打开一个文件进行编辑,若提供了filename,则是打开一个新的文件
  • Ctrl+w+j(或者向下):光标跳转到下面的文件
  • Ctrl+w+k(或者向上):光标跳转到上面的文件
  • Ctrl+w+q:退出光标所处的文件
  • :q:效果同上

上面的命令的按法是先Ctrl+w,然后再按第三个键。

先写这么多,以后再不断添加吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值