简单小述:
vi编辑器在文件操作中是十分方便的,它帮助你快速修改文件内容,导入文件,书写脚本文件等等。
它有几种不同的模式,分别是命令模式,插入模式,扩展命令模式,它们的关系如下:
命令模式
-
文件定位
g 定位到全文第一行第一列
G 定位到全文最后一行第一列
/Aug 定位到有string关键字的位置,若全文多次出现此关键字,可通过 n 按顺序往下查找,N 按顺序往上查找
/sh$ 定位到以sh结尾的位置
/^alice 定位到以alice开头的位置 -
文本编辑
dd 删除光标所在整行
3dd 删除从光标开始的3行
yy 复制光标所在的整行
3yy 复制从光标开始的3行
p 将之前删除(dd)或复制(yy)的数据粘贴到光标之后的位置
x 删除光标所在的字符
D 从光标处删除到行尾
u 撤销上一步操作
r 修改一个字符 -
变换模式
变换到插入模式 i
变换到扩展命令模式 :
变换到可视块模式 v
变换到可视行模式 V
变换到可视块模式 ^v
插入模式
进入插入模式后,可以直接进行编辑你想要的内容
扩展命令模式
-
保存退出
:w 保存
:q 退出
:wq 保存并退出
:w! 强制保存
:q! 不保存并退出
:wq! 强制保存退出
:w /tmp/file1.txt 另存为/tmp/file1.txt -
查找替换
:范围 s/old/new/选项
== 例子:==:9,$ s/root/tong/ 第9行到最后一行中第一个root换成tong :1,$ s/root/tong/g g 为全局,1-最后一行的所有root都换成tong :% s/root/yang/g %为全文 :,2 s/root/tong/ 从当前行到第 8 行 :5,10 s/.*/#&/ 5-10 前加入#字符 :1,2 s/^#// 1-2 行的开头#替换为空
-
其他
?字符串 从全文上下搜索该字符串
/字符串 从全文上下搜索该字符串
:整数 跳转到该行
:r /etc/hosts 读入文件到当前行后
:2 r /etc/hosts 读入文件到第 2 行后
:set nu/nonun 设置行号/取消设置行号
:set list 显示控制字符
可视块模块
-
选择块
shift + v 选中整行进行编辑
ctrl + v 块选择编辑
v
-
块插入(在指定块前加入字符) 选择块,I 在块前插入字符,ESC
-
块替换: 选择块,r 输入替换的字符
-
块删除: 选择块,d (删除所选内容)
-
块复制: 选择块,y (复制所选内容)