分享

4.3.3 vi编辑器

 langfeinaojin 2014-02-25

4.3.3  vi编辑器

要在Linux下编写文本或语言程序,首先必须选择一种文本编辑器。我们可以选择使用vi编辑器,使用它的好处是几乎每一个版本的Linux都会有它的存在。然而它是在文本模式下使用,需要记忆一些基本的命令操作方式。也可以选择使用pico、joe、jove编辑器等,它们都比vim简单。如果实在不习惯使用文字模式,可以选择视窗环境下的编辑器,像gedit、Kate等,或是使用KDevelop,它是在Linux中的X Window下执行的C/C++整合式开发环境。

vi编辑器是Visual Interface的简称。vi编辑器是Linux和UNIX上最基本的文本编辑器,工作在字符模式下,只有命令操作,且命令繁多。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。但是不可以对字体、格式、段落等其他属性进行编排,因为它只是一个文本编辑程序。由于不需要图形界面,使它成了效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的强大功能是那些图形编辑器所无法比拟的。vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。

1. vi的基本概念

基本上vi可以分为三种状态,分别是:命令行模式(command mode)、插入模式(insert mode)和底行模式(last line mode)。

命令行模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段并进入插入模式下,或者到底行模式。

插入模式

只有在插入模式下,才可以做文字输入,按ESC键可回到命令行模式。

底行模式

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。不过一般我们在使用时把vi简化成两个模式:插入模式和命令行模式,也就是说将底行模式也算入命令行模式。

2.vi的基本操作

进入vi

打开系统终端,在提示符后直接输入vi或者vi加上文件名称后,就进入vi编辑画面。第一种方法是开启了一个新的文档,第二种方法则是载入已经存在的文档,进入编辑状态。如图4-2所示为输入vi显示的欢迎界面。

  1. $vi 

或者

  1. $vi myfile 
在进入vi之后,是处于"命令行模式",要切换到"插入模式"才能够输入文字。如果此时你按键盘上的上下左右键,电脑只会发出"哔哔"的声音。
 
(点击查看大图)图4-2  vim的主界面

切换至插入模式

在"命令行模式"下按一下字母i、a或者o就可以进入"插入模式",这时就可以开始输入文字了。注意三种方法是有区别的:按"i"进入插入模式后是从光标的当前位置开始输入文件;按"a"进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;按"o"进入插入模式后,是插入新的一行,从行首开始输入文字。

Insert 的切换

处于"插入模式"时,只能输入文字。如果发现输错了字需要光标键往回移动将该字删除,就需要先切换到命令行模式。具体操作就是按一下"ESC"键转到"命令行模式"再删除文字。

退出vi及保存文件

命令行模式模式是vi或vim的默认模式。在"命令行模式"下,按一下":"冒号键进入底行模式。一些常用的命令罗列如下:

:w 保存;

:w filename 当前文本另存为filename;

:wq! 保存退出;

:wq! filename 以filename为文件名保存后退出;

:q! 不保存退出。

移动光标

在命令行模式下,移动光标的命令有:

j 向下移动一行;

k 向上移动一行;

h 向左移动一个字符;

l 向右移动一个字符;

Ctrl+b 向上移动一屏;

Ctrl+f 向下移动一屏;

↑ 向上移动;

↓ 向下移动;

← 向左移动;

→ 向右移动;

编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如3j,表示向下移动3行,2h表示向右移动2行。

删除文字

x 删除一个字符;

#x 删除几个字符,#表示数字,比如3x表示删除三个字符;

dw 删除一个单词;

#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;

dd 删除一行;

#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;

d$ 删除光标到行尾的内容;

复制和粘贴的操作

其实删除也带有剪切的意思,当我们删除文字时,可以把光标移到某处,然后按Shift+p键就把内容贴在原处,然后再移动光标到某处,再按p或Shift+p又能贴上;

p 在光标之后粘贴;

Shift+p 在光标之前粘贴

例如:要求把一个文档的第三行复制下来,然后贴到第五行的后面。有以下两种方法。

第一种方法:先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下Shift+p键。这样就把刚才删除的第三行帖在原处了。接着我们再用k键移动光标到第五行,然后再按一下p键,就把第三行的内容又贴到第五行的后面了。

第二种方法:进入可视模式,按ESC键,然后按v键。移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,按p键;所以复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标。

3. 底行模式

在使用底行模式之前,先按"ESC"键处于命令行模式下后,再按":"冒号即可进入底行模式。多数文件管理命令都是在此模式下执行的,例如把编辑缓冲区的内容写到文件中等。底行命令执行完成之后,vi会自动进入命令行模式。例如下面的命令:

  1. :$s/A/a/g 

表示从文件第一行至文件尾将大写A全部替换成小写a。若在命令行模式下输入命令过程中改变了主意,可按ESC键或者退格键全部删除输入的命令,再按一下退格键回到命令行模式。底行模式的常用操作有:

列出行号

":set nu":在文件中的每一行前面列出行号。

跳到文件中的某一行

":#":"#"号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

查找字符

":/关键字":先按"/"键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按"n"往后寻找到您要的关键字。

":?关键字":先按"?"键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按"n"会往前寻找到您要的关键字。

保存文件

":w":在冒号后输入字母[w]就可以将文件保存起来。

离开vi

":q":按[q]就是退出,如果无法离开vi,可以在"q"后跟一个"!"强制离开vi。

":qw":一般建议离开时搭配"w"一起使用,这样在退出的时候还可以保存文件。

以上所介绍的都是vi编辑器中常用的命令,需要熟练掌握。对于初学者,特别是那些熟悉了图像界面操作的学员来说,使用vi可能会觉得特别不顺手。如果经常在Linux下工作,就会发现vi编辑器其实非常方便。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多