VIM常用操作

都说VIM的门槛很高,我想有可能是没找到合适的办法吧。通常用苍白的语言去陈述,效果确实不好,但是加上一个生动的GIF图,配合着讲解,这样就事半功倍了。由于Mac上我没找到合适的GIF图制作工具,就还是在Windows上用LICEcap好了。

行首,行尾

  • Shift + 6 即^:到行首去;
  • Shift + 4 即$:到行尾去;

行首行尾

文首,文末

对于小文件而言,使用方向键来到达文首文尾,都不是一个很“耗时”的操作,但是如果一个文件特大呢?先不说几个ģ的日志文件吧,尝试一下一个1000+行代码的文件,从文首到文尾,仅仅用方向键的↓来控制的话,需要浪费多少时间呢。

  • gg:到文首
  • Shift + g:到文尾

到文首或者文尾

删除

有时候我们需要一下删除一行,有时候需要删除很多行。

可以使用如下命令:

  • dd:删除光标所在行
  • Ndd dNd:从光标所在行往下数N行,然后进行删除。

下面的操作是:dd,u 2dd,d2d

删除操作

撤销,反撤销

谁都不能一遍就把代码写好,而且不用再进行修改。所以撤销操作和反撤销操作有时候会非常有效。

  • u:按照操作时间依次撤销操作栈中的操作。
  • ctrl+r:反撤销刚才的撤销操作
  • U:撤销对当前行的修改(用的很少)。

下面的操作顺序为:a,输入一些字符,u,Ctrl + r 
撤销与反撤销

查找

相比于其他IDE环境,VIM的查找操作看起来不是那么厉害,但是经过ctags,cscope等组合,也是可以达到类似的效果的。

  • /string:在文本中向下查找字符串
  • ?string:在文本中向上查找字符串
  • Shift+*:将光标定位到字符串上 
    接下来的操作顺序为:/ find,enter,n(跳到下一个匹配项),?input,enter,n(跳到下一个匹配项) 
    查找上一个,下一个

注意:n意思是跳到下一个匹配项; N则是跳到上一个匹配项。

高亮查找

刚才的查找操作中,想必已经看到,查找的时候文本中符合匹配规则的单词被高亮显示了。要做到这样的显示可以再.vimrc文件中进行配置。对于.vimrc文件的配置,这里我还是得多啰嗦一句。

〜/ .vimrc代表是/root/.vimrc修改这个路径下的.vimrc文件仅仅会对root用户有效 
./etc/vim/.vimrc路径下的.vimrc被修改的话,则会对登录到Linux上的所有用户有效。

配置内容为:

set hlsearch  " 高亮查找项
set incsearch " 查找跟随
set ignorecase smartcase " 查找时忽略大小写,但是string包含有一个大写字母时,则按照string真实拼写进行匹配
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

上翻,下翻

有时候我们不想一下子跳到文首,或者文尾。而是想大致浏览下文件中到底有什么内容。这个时候上翻,下翻就起到作用了。

  • Ctrl+u:上翻一页,即向上
  • Ctrl+b:上翻一页,没找到合适的记忆词汇
  • Ctrl+d:下翻一页,即向下
  • Ctrl+f:下翻一页,也没找到合适的助记词

上翻与下翻

就使用而言,没必要全记住这些操作。相较而言,U和d言简意赅,记住这俩足够了。

复制,黏贴

在写代码的时候,复制粘贴是离不开的了。在VIM中,复制粘贴的命令也很简单。

  • yy:复制光标所在行内容
  • Nyy 或者 yNy:从光标所在行起,复制N行。
  • :put 或者:P:在光标所在行起,开始粘贴.p代表向下粘贴,P代表向上粘贴。

需要注意的是:复制粘贴命令仅对当前的vim编辑窗口中的内容有效如果想粘贴系统剪切板中的内容,还是需要设置一下具体的可以自行搜索一下:-)。

接下来的操作顺序:先4yy再放:put 
复制与粘贴

复制多行

复制多行内容在IDE中只需要用鼠标右键选中,再Ctrl + C组合就行了。但是在VIM中,就得用几个命令进行组合一下,来实现相同的功能。

具体组合为: 
v:进入VISUAL模式,然后用方向键移动光标。 
y:复制选中的文本内容。 
d:剪切选中的文本内容。 
p:粘贴经由y复制到的文本内容到光标所在位置。

操作内容为:选中多行,复制,粘贴。剪切,粘贴

复制多行

  • yG:从光标所在行起,复制到文档尾部。

在此基础上可以组合出很实用的操作如下:

  • esc dG:全部删除:按esc后,然后dG
  • esc ggyG:全部复制:按esc后,然后ggyG
  • esc ggvG:全选高亮显示:按esc后,然后ggvG或者ggVG

注释与撤销注释

。对于单行的注释与撤销注释比较简单先定位到行首,在选择插入模式,进行注释或者删除注释就行了具体的组合命令为:

拿注释举例:

^  i  //(或者其他语言的注释符号)
  • 1
  • 1

但是通常情况下我们会遭遇要进行多行注释,撤销多行注释的情况。这个时候就不能一点点的操作了,否则要多浪费时间啊。

具体组合内容为: 
Ctrl + v:进入VISUAL BLOCK  模式 
Shift + i:进入行首插入模式 
输入注释符号:开始注释 
按两次esc:完成注释

接下来通过一张图来具体展示如何操作。

多行注释

下面是相对的操作,取消多行注释具体的组合命令如下:

  • ctrl + v:进入VISUAL BLOCK模式,选择要取消注释的部分。
  • d:取消注释。

取消多行注释

函数体

函数体的操作其实要配合折叠来实现。这里就先不配置折叠项了,单纯的来操作一下跳转到函数体开头和结束的内容吧。

  • {:跳到函数体开始处,注意针对于本文件内定义的函数。
  • }:跳到本文件内定义的函数体的结尾处。 
    函数体跳转相关

下面的这俩需要ctags的支持,所以暂不进行描述。 
ctrl + ]: 
ctrl + t


比如我有一个日志文件,我文件里符合规则的字符是肯定的,我想查找这个abc.log文件中的是字符数量,怎么查找呢,如下:

:%s/yes//gn


:行1,line2s / STR /更换/克

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值