高效的VIM操作
写在前面
常见的VIM操作和命令大家肯定都了解,我的上一篇文章也有总结
链接在这:https://blog.csdn.net/qq_45811214/article/details/127238984
但是这里我想说,还有一些很6的操作会让你使用VIM编辑器更高效,使用感直接拉满!VIM入门确实让人很不习惯,相比于VSCode这类图形化界面的一些操作,VIM编辑器就显得有点无力了,但是使用熟练之后效率确实很高!
自动补全关键词
你还在一个字母一个字母的写代码?你还在为VIM编辑器没有自动补全单词的功能而苦恼?这不是来了嘛!
我们输入字符的前一部分,然后按下Ctrl+N
或者Ctrl+P
,就可以看到有哪些匹配的字符串了,可以用方向键选择,也可以用字母选择,N
表示下一个,P
表示上一个。
比如我输入send_
, 按下Ctrl+N
就匹配到了所有符合条件的字符串
可视模式的一些操作
按下v
,V
,Ctrl+V
都可以进入到可视模式,进入之后在最下面会有一个
-- VISUAL --
的样式,就表示进入成功,按下Esc键即可退出。
进入可视模式之后,移动方向键,可以高亮选中的代码,此时进行复制粘贴的操作会非常方便,
比如复制多行,只需要移动方向键进行选择,然后按下y
进行复制,p
进行粘贴,d
进行删除。
此时,让我们打开思维,常用的删除多行的命令有ndd
,如果要一行一行的去数n是多少,显然是不现实的,这个时候就可以进入Visual模式,使用方向键进行选择然后删除。
当然,如果要删除的行数太多,方向键都要按冒烟了,这个时候我们可以进入到命令模式,输入:n1,n2d
进行范围删除,其中n1 和 n2 指的是起始行号和结束行号,d 是删除关键字。
VIM 一次性打开多个文件
vi file1 file2
默认会进入file1,在命令模式下,输入:ls
,列出 VIM 打开的所有文件。
输入:bN
,即可进入到对应的文件(这里N是文件的序号),比如:b2
,进入到file2
VIM分屏显示
其实我觉得分屏操作起来比较麻烦,最好的办法是开两个窗口切换着来看。如果想了解还是可以看一下。
1.左右分屏如下操作:
vim -On file1 file2 ... filen
这里的 n ( n 是要打开的具体文件的数目:1,2,3 …)是代表有几个文件需要分屏,从左至右依次显示 n 个文件。注意:字母O大写哦!
比如:
vim -O2 client.c server.c
2.上下分屏如下操作:
vim -on file1 file2 ... filen
这个命令跟上一个命令不同的是其中的参数 -on( n 是要打开的具体文件的数目:1,2,3 …) 中的 o 是小写,这样将会上下分屏显示 n 个文件。
3.分屏以后如何在文件间切换光标和移动分屏?
以下命令的操作方法:先按住Ctrl和w,然后再按其他字母即可
1.切换左右分屏的光标 :
Ctrl + w h
将当前光标定位到左边的屏幕
Ctrl + w l
将当前的光标定位到右边的屏幕
2.移动左右分屏 :
Ctrl + w H
将当前的分屏移动到左边
Ctrl + w L
将当前的分屏移动到右边
3.切换上下分屏的光标 :
Ctrl + w j
将当前的光标移动到下面的分屏
Ctrl + w k
将当前光标移动到上面的分屏
4.移动上下分屏:
Ctrl + w J
将当前的分屏移动到下面的分屏
Ctrl + w K
将当前的分屏移动到上面的分屏
如何关闭分屏呢?
Ctrl + w c
上面这个命令是关闭当前的分屏
Ctrl + w q
上面的这个命令也是关闭当前的分屏,如果是最后一个分屏将会退出 VIM 。
VIM多行编辑
如果需要在多行进行相同的操作,比如在多行前面都加一段代码,在多行前面加缩进。一个一个的加那要加到猴年马月,这个时候我们可以对多行进行操作。
比如:我要在这些头文件的前面都加上#include
第一步:按下Esc
进入命令模式,将光标停留在第一行的地方
第二步:按下Ctrl + v
,进入到-- VISUAL BLOCK --模式(最下面一排会有提示),向下移动光标,选中所有的头文件。
第三步:按下大写的字母I
(shift + i)进入INSERT插入模式,此时光标会停留在第一行,输入#include
,
第四步:按下Esc
,VIM编辑器就会对你选中的所有行进行操作,都加上了#include
VIM多行删除
有了多行编辑的经验,多行删除就变得简单多了,我就不演示了,直接贴出步骤。
1.按下Esc
进入命令模式,将光标停留在第一行的地方
2.按下Ctrl + v
,进入到-- VISUAL BLOCK --模式(最下面一排会有提示),按方向键选择需要编辑的行
3.按下d
,同时删除所有选中的字符
写在最后
后面学习的过程中,如果发现一些VIM高效操作,也会分享出来。欢迎各位在评论区中分享,也请各位批评指正。