基础
-
确保系统已经安装了VIM工具
[root@qihang ~]# rpm -qfwhich vim
[root@qihang ~]# rpm -qfwhich vi
-
vim编辑器模式
首次进入文件 ---- 命令模式
出现 “Insert” ---- 编辑模式
输入: ---- 命令行模式 -
命令行模式下的增删改查
i 当前字符之前插入 (光标前)
I 行首插入 (行首)
a 当前字符之后插入 (光标后)
A 行尾插入(行尾)
o下一行插入 (另起一行)
O上一行插入(上一行插入)
x 向后删除一个字符 等同于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
r 替换(单个字符)
w 保存 save
w! 强制保存
q 没有进行任何修改,退出 quit
q! 修改了,不保存,强制退出
wq 保存并退出
wq! 强制保存并退出
x 保存退出 -
对文本进行编辑
y 复制(以字符为单位) :表示对单个字符进行复制,如果要复制整行,用yy(以行为单位)
复制N行: Nyy ,比如: 2yy ,表示复制2行
dd(删除,以行为单位,删除当前光标所在行)
删除N行: Ndd ,比如: 2dd ,表示删除2行
p : P粘贴
剪切: dd
x 删除光标所在位置的字符
D 从光标处删除到行尾
u 撤销操作
ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样
r 替换,或者说用来修改一个字符 -
文本替换
格式 : 范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容 (分隔符可以自定义)
默认是每一行的第一个符合要求的词 (/g全部)
:1,3 s/bin/qihang 替换第1到3行中出现的第一个bin进行替换为qihang
:1,3 s/bin/qihang/g 替换第1到3行中查找到所有的bin进行替换为qihang
:3 s/xue/aaaaa #只把第3行中内容替换了
:% s/do/qihang/g 将文本中所有的do替换成qihang
:% s/do/qihang/gi 将文本中所有的do替换成qihang, 并且忽略do的大小写
:% s@a@b@g 将文本中所有的a替换成b
自定义vim使用环境
- 临时设置
:set nu 设置行号
:set nonu 取消设置行号
:noh 取消高亮显示 - 永久设置环境
vim /etc/vimrc 设置后会影响到系统所有的用户
~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个
例:
[root@qihang ~]# cat /root/.vimrc
set nu
[root@qihang ~]# vim /root/.vimrc
进阶
- vim打开多个文件
方法1:以上下形势,打开两个文档
[root@qihang ~]# vim -o /etc/passwd /etc/hosts
方法2:以左右方式打开两个文档
[root@qihang ~]# vim -O /etc/passwd /etc/hosts
注:ctrl+w 在两文档之间进行切换编辑。大写O左右分屏,小写的o上下分屏 - 比较两个文件内容
[root@qihang ~]# cp /etc/passwd mima.txt
[root@qihang ~]# echo aaa >> mima.txt
[root@qihang ~]# diff /etc/passwd mima.txt
40a41
> aaa
[root@qihang ~]# vimdiff /etc/passwd mima.txt