vim的模式
普通模式、插入模式、末行模式
![](https://img-blog.csdnimg.cn/img_convert/739e5fb9d272b17ea1ef1fba2d8ea8c8.png)
通过vim命令打开文件的多种方法:
vim file //光标置于第一行行首
vim file +n //光标置于第n行
vim file + //光标置于末尾行的行首
vim file +/pattern //光标置于与pattern匹配的字符串处,pattern为任意字符串
注:centos7默认无vim,需要安装vim (yum install vim -y)
vim的基本用法
普通模式:
光标定位
hjkl光标上下左右移动
0 $跳到光标所在行的行首和行尾
gg G跳到首行和尾行
文本编辑
y 复制 yy(以行为单位)
d 删除 dd(以行为单位)
p 粘贴
u 撤销
末行模式:
保存退出
:10 进入第十行
:w 保存 :q 退出 :wq 保存并退出
:w! 强制保存 :q! 不保存强制退出 :wq! 强制保存并退出
:e /root/aa.txt 打开文件 :e! 重新打开当前文件
:X 对文件进行加密
![](https://img-blog.csdnimg.cn/img_convert/f05ccba0b6ead5de77a8c998f06d60ab.png)
读入文件/写文件
:w 存储到当前文件
:w /1.txt 另存为/1.txt
:1,3 w 1.txt 另存1-3行,生成新文件为1.txt
![](https://img-blog.csdnimg.cn/img_convert/f2928d26076ddd524e9e7db3b898947e.png)
![](https://img-blog.csdnimg.cn/img_convert/1ea237e617e4692e5ce26b19a8d6398b.png)
:r /etc/hosts 读入文件到光标所在行后
![](https://img-blog.csdnimg.cn/img_convert/6881a4cea8bb6d8143cfa35a8d0291bf.png)
![](https://img-blog.csdnimg.cn/img_convert/35ed78082b9d0a26d0cdc9a11b68b466.png)
:5 r /etc/hosts 读入文件到第5行后
查找替换
:范围 s/old/new/选项
例如
:1,6 s/x/passwd/ 把1-6行的x替换为passwd
![](https://img-blog.csdnimg.cn/img_convert/135b79e13c7a25082d06126e5dcf824a.png)
![](https://img-blog.csdnimg.cn/img_convert/720b6d8e6d0d4f2942b37bdeff4d170b.png)
:% s/root/user/g %表示全文 g表示全局
![](https://img-blog.csdnimg.cn/img_convert/91df8e25f326f901a6e360938d67f1e8.png)
![](https://img-blog.csdnimg.cn/img_convert/ee714983a6d0dd4a095dc6572e9a15fb.png)
![](https://img-blog.csdnimg.cn/img_convert/3bd4b81892d49417a74d2f5b5ea9b54b.png)
注:全文只替换行首,全局替换所有
:$ s/root/user/g $表示最后一行
设置行号
:set nu 设置行号
![](https://img-blog.csdnimg.cn/img_convert/f90f4d848e4df4deb638d7e48eaca585.png)
![](https://img-blog.csdnimg.cn/img_convert/7dd4161e6d69ada1f2e9cac443ce38ce.png)
:set nonu 取消设置行号
![](https://img-blog.csdnimg.cn/img_convert/9e3ee273ec8b7e3b1e8484b2537ce892.png)