1. vim
vim和vi基本用法相同,vim为vi的升级版本,比vi多了一些特性(比如说带颜色)
1)首先安装vim, # yum install -y vim-enhanced
2) vim可以显示颜色,例如我们用vi来编辑/etc/passwd, 文件内容不显示颜色,但是我们使用 # vim /ect/passwd, 可以发现如下图,这是vim和vi最主要的差别
3)vim有三种模式:一般模式、编辑模式、命令模式
- 一般模式,可以进行dd来删除内容
- 编辑模式,按i之后显示insert,可以对文档写入内容增加字符,回车换行等等;按a键也可以进入编辑模式
- 命令模式,可以用/搜索关键词,还可以进行查找替换,还有:wq也是命令模式
2.vim颜色显示和移动光标
1)vim颜色显示
相同的文件在不同的目录下,就有可能导致颜色不存在,例如用# vim /etc/passwd来看文件是有颜色的,但是我们把文件cp /tmp/下,在用vim命令就发现颜色不见了,/etc/下面为配置文件可以显示颜色。
用vim编辑文件有时是有颜色的,往往跟文件具体内容有关系,比如文件是shell脚本那么就会根据shell显示颜色,如果是python脚本就会根据python显示颜色
vim也有自己的配置文件/etc/vimrc, 用来控制vim的用法;可以vim /root/.vimrc中来编辑配置,例如一些高级的用法-语法高亮,显示颜色等等
2)移动光标-一般模式下
- 1)首先我们cp /etc/dnsmasq.conf /tmp/1.txt, 因为/etc/dnsmasq.conf文件行数多,方便做实验
- 2)然后再编辑 vim /tmp/1.txt, 如下方式移动光标
注:空格键也可用来向右移动光标,而且可以用数字来控制位置 (lhkj键也支持数字控制位置),例如 5 +空格键,就可以向右移动5个字符
3. vim在一般模式下复制粘贴(经常用)
注:dd只可以删除/剪切一行
u可以还原上次操作,按一次还原依次, 最多可以还原50次;当在50次之内还原到了最开始,那么在屏幕左下角显示”已位于最旧的改变“;如果错摁了依次恢复u, 我们可以用ctrl r来反恢复
x/X也可以用数字来控制位置, 也是删除/剪切一个字符
按v, 可以移动光标,然后根据自己需求任意选择文件内容,进行删除,剪切,复制,粘贴等操作
4. 进入编辑模式
进入编辑模式的方式:
- 按”i“
- 按”I“,与”i“的区别是可以发现光标直接到了行首的位置
- 按”o“, 光标可以直接到下一行的行首
- 按”O“,光标可以直接到上一行的行首
- 按 ”a“,光标移动到之前所在字符的后一个字符
- 按”A“,光标移动到行尾
注:进入到编辑模式后,在一般模式下使用的”hlkj“控制方向键变没用了,可以使用方向键来控制方向
5. vim命令模式
如下图所示
- 在vim中输入”:“再用方向键可以显示出之前所用的命令
- 如果如下图所示,我们想把/etc/hosts给替换成amingliux.com,我们不可以用1,$s//etc/hosts/aminglinux.com/g, 因为/是用来识别替换内容的,而例子中的/太多,导致无法正确识别,所以我们用\来进行脱意,使多余的/没有意义成为普通的字符,所以正确的写法为1,$s/\/ect\/hosts/aminglinux.com/g
我们也可以使用另外一种方法,用#来代替命令中的/,可以写成1,$s#/etc/hosts#amingliunx#g,结果也是一样的,也可以使用@符号
1,$s@/etc/hosts@aminglinux.com@g
- 去掉highlight,":nohl"
- ”x“同样会保存退出,类似于”:wq“, 但是文件打开后没用进行任何操作,如果使用:wq,那么mtime会更改;但是使用x,mtime便不会更改
6. vim实践