9.2.2 案例练习

案例一:使用vi创建和编辑一个文件。

1)使用vi创建一个文件newfile,进入一般模式,如图9-2所示。


  1. [root@localhost ~]# vi newfile #
  2. 输入该命令后按回车键便进入一般模式

2)按i键从一般模式进入编辑模式(如图9-3所示)。

9.2.2 案例练习 - 图1

图9-2 进入vi一般模式

9.2.2 案例练习 - 图2

图9-3 进入vi编辑模式

3)在编辑模式中写一段话后退出编辑模式,进入一般模式,如图9-4所示。

4)在编辑模式中复制并粘贴第一行的文字,如图9-5所示。

9.2.2 案例练习 - 图3

图9-4 退出vi编辑模式

9.2.2 案例练习 - 图4

图9-5 vi复制行

5)在编辑模式中将刚刚复制的文字删掉,如图9-6所示。

9.2.2 案例练习 - 图5

图9-6 vi删除行

6)在编辑模式中将第二行的词Press删除,如图9-7所示。

9.2.2 案例练习 - 图6

图9-7 vi删除词

7)恢复刚刚删除的词Press,如图9-8所示。

9.2.2 案例练习 - 图7

图9-8 恢复删除的词

8)切换至末行指令模式并保存退出,如图9-9所示。

9.2.2 案例练习 - 图8

图9-9 保存退出

至此我们便完成了newfile文件的创建操作,该过程中运用了一些常见的文本操作方法。当然,这只是一部分的操作指令,还有大量其他的补充,比如,在文件中快捷地移动光标等,具体如表9-1所示。

表9-1 vi的光标移动操作

9.2.2 案例练习 - 图9

在之前的演示中,用到了dd组合键来删除光标所在的一行,事实上,在实现文本的删除、复制、粘贴等操作时还有其他的一些组合键,具体如表9-2所示。

表9-2 vi的编辑操作

9.2.2 案例练习 - 图10

案例二:搜索关键字。

1)使用vi打开etcssh/sshd_config文件。


  1. [root@localhost ~]# vi etcssh/sshd_config

2)使用“/”符号查找关键字HostKey,如图9-10所示。

9.2.2 案例练习 - 图11

图9-10 使用/查找关键字

需要注意的是,搜索到的关键字是以当前的光标为相对位置、往下找到的第一个关键字。以图9-10为例,如果在搜索前(也就是在一般模式的时候),光标是停留在第一行的,那么搜索到的HostKey将是文本中第一次出现HostKey的地方。也就是搜索功能默认使用光标位置下移来实现搜索操作。

按照图示方法找到了第一个HostKey后,可以按n键继续往下找,每按一次光标将跳至下一个关键字处,如果要想往上寻找,则按大写字母N。

查找关键字还可以使用“?”符号,和“/”不同的是,使用“?”查找默认是从光标位置向上寻找关键字,按n键代表继续往上寻找,按N键代表向下寻找,如图9-11所示。

9.2.2 案例练习 - 图12

图9-11 使用?查找关键字

案例三:替换关键字。

有时候需要将整篇文档中的某个词换成另外一个词,如果靠手工寻找替换是不现实的。利用末行指令模式则可以轻易实现这个功能。为了演示这个功能,我们先做一个准备工作。


  1. [root@localhost ~]# cp etcssh/sshd_config /root

然后按照图9-12所示的方法,将/root/sshd_config文件中的HostKey全部替换成NewKey。

9.2.2 案例练习 - 图13

图9-12 替换关键字

按回车键后,所有的HostKey就全部被替换成NewKey。替换用法的解释和其他用法如表9-3所示。

表9-3 替换用法

9.2.2 案例练习 - 图14