vi案例练习

案例源自《鸟哥的Linux私房菜》
从http://linux.vbird.org/linux_basic/0310vi/man.config 下载文件man.config。请在/tmp这个目录下新建一个名为vitest的目录。进入vitest这个目录当中。将/ect/man.config复制到本目录下面。使用vi打开本目录下的man.config这个文件。

[Ian@muban ~]$ wget http://linux.vbird.org/linux_basic/0310vi/man.config
[Ian@muban ~]$ mkdir /tmp/vitest
[Ian@muban ~]$ cd /tmp/vitest/
[Ian@muban vitest]$ cp /etc/man.config man.config
[Ian@muban vitest]$ vi man.config

1.在vi中设置一下行号。

set nu

这里写图片描述
2.移动到第58行,向右移动40个字符,请问你看到的双引号内是什么目录?

58G
40l

这里写图片描述
3.移动到第一行,并且向下查找一下“bzip2”这个字符串,请问它在第几行?

1G
/bzip2  #向下寻找一个名称为bzip2的字符串

此时按n向下搜索,按N向上搜索。
这里写图片描述
这里写图片描述

4.将50行到100行之间的“man”改为“MAN”,并且一个一个挑选是否需要修改,如何执行命令?如果在挑选过程中一直按“y”,结果会在最后一行出现改变了几个man呢?

:50,100s/man/MAN/gc 

vi案例练习_第1张图片
一直按”y”最终出现:
25 substitutions on 23 lines

5.修改之后,突然反悔了,要全部复原,有哪些方法?

u或:q!

6.复制65到73这九行的内容,并且粘贴到最后一行之后。

65G
9yy  #复制9行
G    #去最后一行
p    #将已复制的数据在光标下一行粘贴

vi案例练习_第2张图片

vi案例练习_第3张图片
7.21到42行之间的开头为“#”符号的批准数据不要了,要如何删除?

21G
22dd   #删除22行

vi案例练习_第4张图片

vi案例练习_第5张图片

8.将这个文件另存成一个man.test.config的文件名。

:w man.test.config

这里写图片描述

9.去到第27行,并且删除15个字符,结果出现的第一个字符是什么?

27G
15x  #连续删除15个字符

出现的是you
10.在第一行新增一行,该行内容输入“I am student…”。

1G
O  #O 为在目前光标所在处的上一行插入新的一行
I am student...

这里写图片描述

11.保存后离开。

:wq

你可能感兴趣的:(Linux基础)