Linux运维-Vim专场
开篇导读:
在这一篇中,我们将详细讲解一下Linux中一个非常重要的可视化文本编辑器–vim,这款文本编辑器内置了非常强大的代码编辑功能和文本处理功能.
Vim的基本使用方法
-
创建文本文件或打开文本文件: vim /data/test.txt
当系统中没有test.txt这个文件的时候,vim会创建一个名为test.txt的文件并进入该文件中,当test.txt已经存在的时候,vim 会找到并进入该文件. -
命令行模式:
进入该文件后,当前界面会显示该文件内容,但是当前模式处于命令行模式,可以查看到内容但不支持输入新的文本内容.实际上该模式是编辑器处于等待用户指令的时候,用户可以选择通过特定的指令来告诉编辑器是想要输入新内容还是想要删除原有的内容.下面是一些命令行模式的指令:
(1) 快速移动光标shift + g: 快速移动光标到最后一行(G也可以达到相同的效果) gg: 快速移动光标到行首. 200gg/200G: 快速移动光标到指定行. ^/Home/0: 快速移动光标到行首. &/End: 快速移动光标到行尾.
(2) 特殊技巧操作
u: 撤回操作 ctrl + r: 取消撤回
(3) 快速编辑文件内容
yy: 复制光标所在行内容 3yy: 复制光标所在行和下两行内容 p: 粘贴复制内容 3p: 粘贴3遍 dd: 删除光标所在行内容 3dd: 删除光标所在行和下两行内容 dG:删除光标所在行和以下所有行内容.
(4) 指定光标位置进入文本编辑模式
i: 在光标处进入文本编辑模式 I: 将光标移动到行首进入编辑模式 o: 在光标行下新插入一行进入编辑模式 O: 在光标行上新插入一行进入编辑模式 a: 在光标当前位置下一个字符进入编辑模式 A: 在光标所在行行尾进入编辑模式 s: 将光标处字符删除进入编辑模式 S: 将光标所在行整行删除进入编辑模式 r: 将光标所在位置字符进行单个替换 R: 将光标所在位置字符进行连续替换
编辑模式:
可以对文本进行增删改的操作了,上下左右键可以移动光标.vim对一些特定类型的内容如一些代码文件会有一些颜色上的优化显示.编辑完成后按Esc键退出编辑模式进入命令行模式.
底行模式:
在命令模式下按冒号键进入底行模式,该模式也有很多好用的命令.
(1) 退出vim
q: 不保存退出.
q!: 不保存强制退出
w: 保存
wq: 保存退出
wq!: 强制保存退出
(2) 操作内容
set nu: 显示行号
set nonu: 不显示行号
%s###g: 替换指定的字符进行全文替换
s###g: 将光标所在行指定内容进行替换
2s###g: 将第二行指定内容进行替换
2,4s###g: 将第二行到第四行指定内容进行替换
2,$s###g: 将第二行到尾行的指定内容进行替换
2,$###: 将第二行到尾行中每行的第一个内容进行替换
1,3copy3: 将第一行到第三行的内容复制到第三行下面
set ic/ignorecase: 设置过滤数据时,忽略大小写
/指定的内容: 查找
/指定的内容\c: 查找并忽略大小写
?指定的内容: 文件中过滤指定内容