1、什么是vim
类似于windows下的文本编辑器
vim并不是一个排版程序,它只是一个文本编辑程序,没有菜单,只有命令,而且命令繁多
2、为何要用vim
1、修改配置
2、写脚本
PS:默认情况下,vi是安装的,vim需要用户手动安装 # yum install -y vim
3、vim编辑器的操作模式
命令模式
按:进入末行模式
按a、i、o等键,进入输入模式
输入模式
按esc回到命令模式
末行模式
按esc回到命令模式
4、三种模式下的操作汇总
命令模式
1、光标定位
h j k l 光标上下左右移动(上k、下j、左h、右l)
0 $ 光标移动至行首/尾(行首0、行尾$)
gg G 光标移动至文本首行/末行(首行gg、末行G)
n + G 光标移动至第n行
2、文本编辑
yy 复制(3yy :复制三行)
d 删除(3dd:删除3行)
p 粘贴(3p:粘贴3次)
x 删除光标所在字符
D 从光标处删除到行尾
u 撤销
^r 重做
3、进入其他模式
a 进入插入模式(在当前字符后插入)
i 进入插入模式(在当前字符前插入)
o 进入插入模式(自动创建下行空行,在空行进行插入)
A 进入插入模式(在当前行尾插入)
: 进入末行模式
^v 进入可视块模式
R 进入替换模式
```
## 插入模式
```bash
^p 唯一补齐
末行模式
1、保存退出
:10 进入第10行
:w 保存
:q 退出
:wq 保存并退出
:w! 强制保存
:q! 不保存强制退出
:wq! 强制保存退出
:x 保存并退出
2、查找替换
:范围 s/old/new/选项 分隔符可以是/ % @
# 示例
:1,5 s/nnn/www/g 从1-5行的nnn替换为www,g代表全局
:5,$ s/^kk/ /g 从第5行到末行,以kk开头的替换为空
:% s/nd$/we/g 全文以nd结尾的替换为we
:,8 s/rr/tt/g 从当前行到第8行,将rr替换为tt
3、读入文件/写文件
:w 保存
:w /test/new.txt 另存为/test/下的new.txt
:1,4 w /test/ww.txt 将文本第1-4行另存为/test/下的ww.txt
:r /test/we.txt 将/test/we.txt文本的内容读入当前文本
4、设置环境(临时)
:set nu 设置行号(:set nonu 取消行号)
:set ic 不区分大小写
:set ai 自动缩进
5、设置环境(持久化)
vim /etc/vimrc 修改vim的配置文件,此修改对所有用户生效
vim ~/.vimrc 修改配置文件,对当前用户生效
ps:
vim -O /test/1.txt /test/2.txt 同时打开两个文件进行对比,^w连按两次切换
vimdiff /test/1.txt /test/2.xtx 同时打开两个文件,不同处高亮显示,^w连按两次切换
patch命令
diff -u a.txt b.txt > patch.diff 以b.txt文件为准,将a.txt与b.txt文件的不同处记录为patch.diff
patch a.txt patch.diff 通过patch.diff文件将a.txt文件修复,修复至与b.txt一致
vim执行过程:
vim打开文件a.txt ---> 进入编辑模式,编辑文件 ---> 编辑文件时,vim会自动创建一个临时文件.a.txt.swp ---> 编辑完成,vim会自动删除临时文件 ---> 退出,修改成功
未正常保存退出,vim会保存临时文件,下次打开文件时可以通过临时文件恢复编辑内容