Vim 高级操作一看就会

简介: Vim 高级操作一看就会

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


高级功能入门


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

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


多文件的编辑


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


vim 1.txt 2.txt


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


bad331ce0c2f8b245fe883e14171e895.gif


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

2cf1d832be718c70e4c6af54fad62e45.gif

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

aded99fee705f5b92c6fcb655b5eec5a.gif

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


分屏


创建分屏


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

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

7f40a2e5a736dcf44839619546f3f607.gif


分屏跳转与移动分屏


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


327751f557001a74e3ab7cb5b3f49098.png

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

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

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

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

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


4c399012e8990548f8de4b4c4991339f.gif

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


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


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


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


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

fada46db7f221f79c57211b8ec983ac1.gif


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


可视模式


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

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


行选择


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

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

54903d336fbaecefe45ca2eb60a58e8b.gif


矩形区域选择


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


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

17c798c23b281078741fe77063e963cc.gif


字符选择(段落选择)


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

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


f23489e2b38e051d69168f762e1035ca.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命令比较多,这里只列举最有用的,足以应对全部的场景了,记的越多速度越快!

相关文章
|
6月前
|
数据可视化 Linux 开发工具
【Linux从入门到精通】vim的基本使用各种操作详解
vim下的操作多而杂,本篇文章会对vim下常用的多个操作进行详细解释。附加动图解释多个操作,超级详细,希望会对你有所帮助。
153 1
|
3月前
|
Unix Linux 开发工具
【Linux】VIM命令模式和文本输入模式切换操作
【1月更文挑战第18天】【Linux】VIM命令模式和文本输入模式切换操作
|
3月前
|
Unix 开发工具 C++
Vim基本使用操作
Vim基本使用操作
|
5月前
|
开发工具
vim全键盘操作
vim全键盘操作
53 0
|
XML 人工智能 Go
VSCode 中使用 vim 操作
为什么要使用 Vim 呢?因为真的很高效啊!!!我已经在代码编辑器和浏览器中都安装了类 Vim 插件来提搞我的操作效率。当熟练使用 Vim 命令之后,真的可以扔掉鼠标了。
811 0
|
机器学习/深度学习 数据可视化 开发工具
|
JavaScript 前端开发 Linux
【看表情包学Linux】软件包管理器 yum | Vim 编辑器介绍 | Vim 文本批量化操作 | 配置 Vim(二)
本章首先介绍 Linux 软件包管理器 yum,学习如何在 Linux 上安装和卸载软件。最后我们讲解一下 vim 编辑器,我采会用实际操作去讲解 vim 的文本操作。对于 vim 的这些操作按键,不需要死记,用的多了自然就会熟。默认的 vim 配置简陋不堪,没有代码提示、没有缩进甚至没有行号,但至少还是有语法高亮的。在这一章我们主要去学习 vim 的基础操作,对于 vim 的配置我打算放到下一章去讲。
207 1
【看表情包学Linux】软件包管理器 yum | Vim 编辑器介绍 | Vim 文本批量化操作 | 配置 Vim(二)
|
Linux 程序员 Shell
【看表情包学Linux】软件包管理器 yum | Vim 编辑器介绍 | Vim 文本批量化操作 | 配置 Vim(一)
💭 写在前面 本章首先介绍 Linux 软件包管理器 yum,学习如何在 Linux 上安装和卸载软件。最后我们讲解一下 vim 编辑器,我采会用实际操作去讲解 vim 的文本操作。对于 vim 的这些操作按键,不需要死记,用的多了自然就会熟。默认的 vim 配置简陋不堪,没有代码提示、没有缩进甚至没有行号,但至少还是有语法高亮的。在这一章我们主要去学习 vim 的基础操作,对于 vim 的配置我打算放到下一章去讲。
135 1
【看表情包学Linux】软件包管理器 yum | Vim 编辑器介绍 | Vim 文本批量化操作 | 配置 Vim(一)