nedit、gedit、emacs和xemacs都是Linux下常用的文本编辑器。但对某一种Linux发行版而言,这几种编辑器不一定都安装了。例如,试着运行nedit test.txt就知道nedit是否已经安装。在编辑文本方面,可以认为它们相当于Windows下的记事本,但论功能,这几种编辑器远比记事本强大,这里不详细讨论它们。
上面提到的几种编辑器是图形界面的编辑器,可以方便地进行全屏编辑。下面简单介绍一下字符界面的编辑器vi和vim。它们是Linux的常用编辑器,很多Linux发行版都默认安装了vi和vim。vi和vim命令繁多,但是如果熟练掌握并使用灵活之后将会大大提高工作效率。vi是visual interface的缩写,vim是vi improved的意思,即增强版的vi。一般地,vi就够用,如果想使用代码加亮的话可以选择vim。现在,有的Linux系统的vi就是vim。接下来的内容,不讨论vi与vim的区别,只涉及它们的基本操作。
vi有3个模式:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)。下面使用vi产生新文件test.txt,内容如下,只有两行:
运行vitest.txt,进入命令模式,如图2-4所示。
图2-4 vi的命令模式
这时,准备输入第一行内容,先输入“#”,发现键盘似乎不听从指挥。因为刚进入vi后,vi处在命令模式,按〈I〉键,进入插入模式,则可以输入上面两行的内容。然后按键盘左上角的〈Esc〉键,回到命令模式,再按〈:〉键,进入底行模式,输入wq,然后按回车键,即可存盘退出,如图2-5所示。
图2-5 进入vi底行模式输入wq存盘退出
存盘退出后,查看一下文件的内容,可知,用vi编辑成功:
有时把vi简化成两个模式,就是将底行模式也算入命令模式。保存文件和退出vi的命令见表2-3。
如果不是产生新文件,而是修改一个已有的文件,看看如何使用vi。运行vitest.txt,打开文件test.txt,这时处在命令模式,先移动光标,找到需要修改的地方。按相应的键,光标移动方向如下:
〈h〉键向左、〈j〉键向下、〈k〉键向上、〈l〉键向右;空格键向右、〈Backspace〉键向左、〈Enter〉键移动到下一行首、〈-〉键移动到上一行首。
表2-3 保存文件和退出vi的命令
如果不是经常使用vi,这比较难记。如果为了快速学会移动光标,只要先记住:使用键盘的上下左右方向键即可移动光标。
移动了光标、找到了需要修改的地方之后,可以修改文件。修改,包括删除字符或者行,还包括插入字符或者行。
删除字符或行、恢复删除(在命令模式下使用)的常用操作见表2-4。
插入文本或行(在命令模式下使用)的常用操作见表2-5。在vi命令模式下,执行表中的操作后将进入插入模式,按〈Esc〉键可退出插入模式回到命令模式。
表2-4 vi常用的删除与恢复删除操作
(www.xing528.com)
表2-5 vi插入文本或行的操作
下面修改文件test.txt,把第二行改为echo"Westudybash."。运行vi test.txt,用方向键将光标移到第二行的字符I,按6次〈x〉键,可以把Ilike删除,按〈i〉键,进入插入模式,输入Westudy,按键盘左上角的〈Esc〉键,再按一下〈:〉键,输入wq回车,存盘退出。查看一下文件的内容,可知,用vi编辑成功:
用vi编辑test.txt时,在删除字符之后,可以试着按大写的〈U〉键,或者小写的〈u〉键,撤销刚才的删除。还可以试着按大写的〈O〉键,或者小写的〈o〉键,插入新行。
了解前面的内容后,就可以用命令vi创建新文件和修改老文件了。
vi还有模式匹配及查找替换功能。下面介绍一个字符串替换的例子。有一个包含两行内容的文件如下:
假设要将book换为magazine。运行vi blue.txt,输入“:s/book/magazine”,按回车键,那么第一个book被改为magazine,如图2-6所示。s是substitute(替换)的意思,第一个斜杠后面是被替换的内容,第二个斜杠后面是新的内容。
图2-6 用vi对文件进行内容替换操作
再输入“:wq”,存盘退出,文件的内容被修改了:
可见,第一行的第二个book没有变,第二行的book也没有变。先将文件内容还原,如果希望全文的book都变为magazine的话,输入“:1,$s/book/magazine/g”,如图2-7所示,按回车键替换完成后,如图2-8所示。其中,1表示第一行,$表示最末一行,标志g是global的意思,表示对一行从头至尾全部搜索替换,而不是只替换第一个匹配。
图2-7 用vi对文件的全部内容搜索替换
图2-8的底行是对本次搜索替换的总结。再输入“:wq”,存盘退出,搜索替换全部完成。
图2-8 vi对文件搜索替换的总结
本节介绍了vi的常用操作,但实际上,vi的操作远不止这些。vi功能较强,如果详细地讲解它的话,可以单独写一章。学习和使用vi的时候,要弄清楚当前处在什么模式,进入相应的模式(或者先回到相应的模式),再做相应的操作。发现某操作不起作用时,要确认一下当前处在什么模式,这是vi的初学者容易忽视之处。进入vi、退出vi、三种模式如何转换等,如图2-9所示,该图可以帮助读者学习vi。
图2-9 vi的三种模式
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。