vim 高级功能

简介: vim 高级功能

文本编辑、跳转、删除、复制、替换这些操作用vim确实是快;但是好像仅仅是这样根本不能说服我vim超过鼠标的地方。


花点时间弄熟这些,除了炫技意外,主要为了防止深夜被拉起来救火,机房还不能远程,连夜打车到了地方,却发现服务器没有图形化界面,这个时候要是脚本写的熟,vim操作6几下修复完了,能尽量降低损失,也能睡个好觉了。


高级功能入门


常用操作在之间的文章我们已经已经掌握了,接下来就要搞一点高级操作,基本谁看见都要感叹一声“你vim怎么这么6!。


  • 同时修改多个文件、快速在文件之间切换
  • 编辑多个文档时分屏操作
  • 批量注释多行代码、修改配置、区域复制删除


多文件的编辑


同时编辑两个文件1.txt,2.txt


vim 1.txt 2.txt


查看同时打开了哪些文件 :ls,其中%a表示正在编辑的文件。

20190912233859769.gif


在文件之间切换 :n , :N

20190912233859933.gif

直接切换到想要编辑的文件 :b 1.txt

2019091223390094.gif

当然了我们为什么跳来跳去,因为这可以完成多个文件之间复制粘贴等组合操作。

分屏


创建分屏


:sp 2.txt 打开新的水平分屏(上下)视窗来编辑2.txt

:vsp 2.txt打开新的垂直分屏(左右)视窗来编辑2.txt

20190912233900318.gif


分屏跳转与移动分屏

我先打开了三个文件,1.txt2.txt3.txt

20190912233900524.png


现在我分别跳转到各个文件中,删除文件内容。

普通模式下Ctrl w j移至下面视窗

普通模式下Ctrl w k 移至上面视窗

普通模式下Ctrl w h 移至左边视窗

普通模式下Ctrl w l 移至右边视窗


image.gif



现在我垂直打开了三个文件,使用以下命令移动视窗,先把文件3从最左边移动到最右边,再移动下最下边


普通模式下Ctrl w J将当前视窗移至下面


普通模式下Ctrl w K 将当前视窗移至上面


普通模式下Ctrl w H 将当前视窗移至左边


普通模式下Ctrl w L 将当前视窗移至右边


image.gif


只要位于相应视窗,:q:wqq!退出就可以;wqaqa!全部退出


可视模式


可视模式分为三种,也是vim的精髓。分别是行,矩形区域选择,字符段落选择。

和鼠标选择类似,进入可视模式加定位符号就可以快速跳转到想选择的范围,选中以后再进行复制,删除等操作。


行选择


行选择 Shift v(小写) , 整行选取,可以上下移动光标选更多的行,再按一次 Shift v 就可以取消选取。

如下,进入行选择模式,输入4G,跳转到第四行,d删除所选区域。


20190912233901114.gif

矩形区域选择


矩形区域选择Ctrl v(小写),按区域选取,可以上下左右移动光标选更多的区域,再按一次 Ctrl v就可以取消选取。


如下:选择所有的行和第一列所在在区域,shift i进入插入模式,插入#,双击两次esc,批量注释。然后重复选择动作,输入x删除所选区域。

20190912233901297.gif


字符选择(段落选择)


字符选择 v(小写),可以移动光标,光标走过的地方就会选取。再次按下v后就会取消选取。


如下:v$选中192.168.1.2退一格为了不选中换行符,到第一行粘贴ip再选中不需要的ip删除掉。


20190912233901500.gif


可视化模式和定位符结合使用效果最佳!


小结


同时编辑多个文件: vim 1.txt 2.txt, 切换文件 :n 、:N、:b 1.txt


分屏 :sp 2.txt  :vsp 2.txt,跳转Ctrl w h|j|k|l 移动分屏位


置Ctrl w H|J|K|L


可视模式 Shift v、Ctrl v、v


vim命令比较多,这里只列举最有用的,足以应对全部的场景了,记的越多速度越快!

相关文章
|
5月前
|
开发工具 Ubuntu Linux
vim中函数跳转的功能实现
该文介绍了如何在Vim中实现函数跳转功能,通过安装`ctags`插件来完成。在CentOS/OpenEuler使用`sudo yum install ctags`,Ubuntu系统用`sudo apt-get install ctags`安装ctags,然后在源代码目录下运行`ctags -R .`生成tags文件。在Vim中,使用`Ctrl + ]`跳转到定义处,`Ctrl + t`返回原位置。文章还提到跨文件跳转及`tags`文件的更新与配置Vim的相关信息。
|
6月前
|
开发工具
7.vim(vi)多窗口功能
7.vim(vi)多窗口功能
95 1
|
程序员 开发工具 开发者
如何在 Vim 中使用自动完成功能?
如何在 Vim 中使用自动完成功能?
91 0
|
机器学习/深度学习 数据可视化 开发工具
Vim 高级操作一看就会
Vim 高级操作一看就会
Vim 高级操作一看就会
|
人工智能 数据可视化 Unix
Vim 高级应用 | 学习笔记
快速学习 Vim 高级应用。
130 0
|
Shell 开发工具 数据安全/隐私保护