vim-高级功能

59次阅读

共计 1374 个字符,预计需要花费 4 分钟才能阅读完成。

本文章原创首发于公众号:编程三分钟,文末二维码。

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

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

高级功能入门

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

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

多文件的编辑

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

vim 1.txt 2.txt

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

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

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

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

分屏

创建分屏

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

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

分屏跳转与移动分屏

我先打开了三个文件,1.txt 2.txt 3.txt

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

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

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

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

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

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

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

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

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

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

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

可视模式

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

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

行选择

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

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

矩形区域选择

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

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

字符选择(段落选择)

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

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

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

小结

同时编辑多个文件: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+vCtrl+vv

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

正文完
 0