1、总结出vim的三个模式中你认为实用的命令
1、命令模式:
1)Home键、“^”、数字0 //跳转至行首
2)End键、$键 //跳转至行尾
3)gg //跳转到文件首行
4)G //跳转至文件末行
5)dd、x //删除光标所在行、单个字符
6)yy //复制当前行
7)p、P //粘贴到光标后、前
8)u、 //取消最近的一次操作
2、末行模式
1):set nu //显示行号
2):set nonu //取消行号
3)/root //查找字符串“root”
4):wq! //强制保存并退出,去掉!后为保存退出
5):r /etv/passwd //在当前文件中读入其他文件内容
6):s /old/new/g //将当前行中的所有字符串“old”替换为“new”
7):%s /old/new //将文件中的所有字符串“old”替换为“new”
8):1,10 co 5 //复制1-10行到第5行后面
9):g/#/d // 查找#号的行并删除
3、vi练习:完成如下步骤
1) 应用vi命令在/tmp文件夹下创建文件,文件名newfile。在newfile首行输入日期时间
[root@server ~]# vim /tmp/newfile //创建newfile文件,退出vim指令“:q”
[root@server ~]# date > /tmp/newfile //将date重定向到newfile
[root@server ~]# cat newfile //查看
2) 将/boot/grub2/grub.cfg文档的内容读入到newfile文档中(在日期的下一行即第2行)
[root@server ~]# echo |cat /boot/grub2/grub.cfg >>/tmp/newfile //写入
[root@server ~]# cat /tmp/newfile
3) 查找文档中包含#号字符的行,将整行删除
在末行模式下
:g/#/d
4) 开启VI的行号提示功能
在末行模式下
:set nu //开启行号提示
:set nonu //关闭行号提示
5) 将光标移动到第5行,并在第5行后产生一新的空白行第6行
可以在命令模式下yy(复制)一个空行再p(粘贴)
或者再输入模式下 回车键
6) 修改内容。将所有的timeout=5,更改为time=30
:%s/timeout=5/time=30
7) 将整个文档中的所有root字符更改为admin字符
:%s/root/admin
8) 复制第1行的日期时间内容到文档末
可以在命令模式下yy(复制)第一行再p(粘贴)
命令模式下 gg移动到第一行 G移动到最后一行
9)cmd >/dev/null 2>&1 <==> &> /dev/null9)将文档保存,将文档再次另存为/boot/newfile2,退出VI编辑器
保存
另存为
:w /boot/newfile2
6、查找文件 /etc/yum.repos.d/redhat.repo中包含字符串 re 的所有行。将所有这些行的副本按原始顺
序放在文件/root/files 中。
[root@server ~]# grep re /etc/yum.repos.d/redhat.repo > /root/files