vim编辑器是linux里面常用的文本编辑器,功能丰富。今天总结一下,方便以后忘记的时候,来查看
vim在linux最小化安装是没的,需要自己手动安装!
yum install vim-enhanced -y

vim 有三种工作模式分别是命令模式,可视块模式,扩展命令模式。
下面就详细说一下三种工作模式中常用的命令
命令模式
hjkl 左下上右
0 $ 行首 行尾
gg 开始第一行
G 最后一行
4G 进入到第四行
/string 查找(n向下 N向上 )
/^ 以什么开始的行
/$ 以什么结尾的行
y 复制(以行为单位ygg yG )
p 粘贴
d 删除 dd 3d dgg dG
x 删除光标所在的字符
D 从光标处删除到行尾
u 撤销
^r 重做(和u相反)
r 修改一个字符
i 进入插入模式(在光标前插入)
a 进入插入模式(在光标的后插入)
o 进入插入模式(在当前行的下一行)
A 在行尾插入
:进入末行模式(扩张命令模式)
v 进入可视模式
^v 进入可视块模式
V 可视行模式
R 进入替换模式

可视块模式
块插入(在指定块前面加入字符) ctrl+v选择块shift+i 在块前面插入字符 2次ESC
块替换 选择块,r 输入要替换的字符
块删除 选择块 d|x
块复制 选择块 y

扩展命令模式
:6 进入第6行
:w 保存
:q 退出
:wq 保存退出
:w! 强制保存
:q!强制退出
:wq! 强制保存退出
:x 保存退出
shift zz 保存退出
w /tmp/test.txt 另存为/tmp/test.txt
r /etc/hosts 读文件到当前行后
5 r /etc/hosts 读文件到第5行后
查找替换系列
:范围s/old/new/选项
:5,$ s/old/new/ $ 表示最后一行
:1,$ s/old/new/g = %s/old/new/g %表示全文 g 表示全局
:% s#old/old#new/new#g #为分割符,还可以用@ 什么的
:,8 s/lod/new/ 从当前行到底8行
:4,9 s/^#// 4-9行的开头#替换为空
:5,10 s/./#&/ 5-10前面加#字符(. 正行 &引用查找的内容)

设置环境
:set nu 设置行号
:set ic 不区分大小写
:set ai 自动缩进
:set list 显示控制字符
:set nonu 取消设置行号
:set noic 取消不区分大小写

永久环境设置
/etc/vimrc 修改vim环境配置文件
~/.vimrc 影响所有系统用户

vim -O /etc/hosts /etc/hostname 同时打开两个文件 ctrl ww 文件之间切换
vimdiff /etc/hosts hosts1 对比两个文件