文章目录
前言
在使用Linux操作系统时,经常会使用vi/vim编辑文件,会涉及到文件内容的删除、注释、增加等,如果改动的地方较多,那么怎么使用快速的方式实现修改就是本篇文章的核心思想
一、vim三种工作模式
默认就是命令行模式。按i、a或o进入编辑模式,再按ESC返回到命令行模式。在命令行模式输入冒号切换到末行模式,再按ESC又返回到命令行模式。编辑模式和末行模式之间不能直接切换,只能通过命令行模式切换

yaml
复制代码
命令行模式
末行模式
编辑模式
二、命令行模式操作
命令 |
说明 |
yy |
复制光标所在行,如果想要复制10行,那就 " 10yy " |
dd |
删除光标所在行,如果想要删除10行,那就"10dd" |
p |
粘贴至光标所在行的下一行 |
P |
粘贴至光标所在行的上一行 |
G |
光标定位到最后一行 |
gg |
光标定位到行首 |
dG |
删除光标行之后的全部数据 |
d1G |
删除光标行前面的所有数据 |
u |
撤销刚才的操作 |
ctrl+r |
反撤销 |
0、^ |
快速定义光标至行首 |
$ |
快速定义光标至行尾 |
v、V、Ctrl+v |
v是光标起始和结束之间的文本会被选中,V是光标起始和结束之间的所有行被选中,Ctrl+v是光标起始和结束之间构成的矩形区域被选中 |
.(小数点) |
重复上一个动作 |
n |
从上向下跳光标,用于查找关键字 |
N |
从下向上跳光标,也是用于查找关键字 |
三、编辑模式操作
命令 |
说明 |
i、I |
i是从光标所在位置开始输入,I是光标所在行第一个非空白字符开始输入 |
a、A |
a是从光标所在的下一个字符开始输入,A是从光标所在行的最后一个字符开始输入 |
o、O |
o是从光标所在行的下一行新的一行开始输入,O是从光标所在行的上一行新的一行开始输入 |
r、R |
r是取代光标所在的字符一次,R是依次取代光标所在字符 |
四、末行模式操作
命令 |
说明 |
:w |
保存 |
:q |
退出 |
:wq、ZZ |
保存并且退出 |
:wq! |
强制保存并退出 |
:q!、ZQ |
强制退出 |
:set nu |
显示行号 |
:set nonu |
关闭行号显示 |
:set list |
查看是否有空格或空行 |
:set nolist |
取消显示的空格或空行符 |
:set paste |
粘贴时不乱行 |
:/read filepath |
快速读取某个目录下的文件至当前文本中 |
:/搜索的内容 |
搜索关键字 |
:/s/old/new/ |
替换光标所在行的某个字符 |
:%s/要替换的字符/替换后的字符/g |
全局替换 |
:%s#xx1#xxx2#g |
全局替换 |
:32-37d |
删除32-37行 |
五、vim快速注释多行操作
yaml
复制代码
1. 首先按esc进入命令行模式下,按下Ctrl + v,进入命令行模式;
2. 在行首使用上下键选择需要注释的多行;
3. 按下键盘(大写)"I"键,进入插入模式;
4. 然后输入注释符("//"、"#"等);
5. 最后按下"Esc"键。 注:在按下esc键后,会稍等一会才会出现注释=
六、vim快速取消多行注释操作
yaml
复制代码
1. 首先按esc进入命令行模式下,按下Ctrl + v, 进入命令行模式;
2. 选定要取消注释的多行;
3. 按下"x"或者"d". 注意:如果是"//"注释,那需要执行两次该操作,如果是"#"注释,一次即可