Linux系统提供了一个完整的编辑器家族系列,如Ed、Ex、Vi和Emacs等,按功能它们可以分为两大类:行编辑器(Ed、Ex)和全屏幕编辑器(Vi、Emacs)。行编辑器每次只能对一行进行操作,使用起来很不方便。而全屏幕编辑器可以对整个屏幕进行编辑,用户编辑的文件直接显示在屏幕上,修改的结果可以立即看出来,克服了行编辑的那种不直观的操作方式,便于用户学习和使用,具有强大的功能。
Vi是Linux系统的第一个全屏幕交互式编辑程序,它从诞生至今一直得到广大用户的青睐,历经数十年仍然是人们主要使用的文本编辑工具,足见其生命力之强,而强大的生命力是其强大的功能带来的。
本文中,我们将循序渐进地介绍如何使用Vi来建立、编辑、显示以及处理文件。
一、vi的简介
Vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 54ne.com
Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。
Vi没有菜单,只有命令,且命令繁多。Vi有三种基本工作模式:命令行模式、文本输入模式和末行模式。
命令行模式
任何时候,不管用户处于何种模式,只要按一下键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。
在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
文本输入模式
在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键即可。
末行模式
末行模式也称ex转义模式。
二、vi的命令
2.1 光标命令
k、j、h、l——上、下、左、右光标移动命令。虽然您可以在linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
w、b——使光标向前或向后跳过一个单词。
2.2 编辑命令
i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。
x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
2.3 查找命令
/string、?string——从光标所在处向后或向前查找相应的字符串的命令。
2.4.拷贝复制命令
yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。
三、vi的使用
3.1 创建文件或者打开文件
打开终端输入:vi HelloWorld.c(命令行模式)
--->如果当前目录下有HelloWorld.c这个文件,那么使用上面的命令会打开该文件
--->如果当前目录下不存在该文件,则会打开一个空白文件,并在屏幕最下行显示“--INSERT--”(插入)字样
3.2 开始编辑
刚打开后的界面在屏幕最下行显示“--INSERT--”(插入)字样
此时在键盘上按下 i 键即可进行操作(文本输入模式)
具体的命令使用在第二部分给出的详细信息
3.3 退出保存/退出不保存
在编辑完后,如果用户需要退出,在键盘上按动ESC按键(末行模式)
---->如果需要保存,输入 :wq 即可(冒号必不可少)
---->如果不需要保存,输入:q即可
四、参考资料
1、Linux操作系统下VI编辑器常用命令介绍:http://www.zdnet.com.cn/server/2008/0312/765986.shtml
2、Linux常见命令:屏幕文本编辑器Vi:http://www.bitscn.com/linux/command/200604/6593.html
3、Linux下vi的基本用法:http://www.cnblogs.com/forward/archive/2009/02/10/1387803.html
4、实用技巧:Linux操作系统Vim/Vi编程提速:
http://www.enet.com.cn/ediy/inforcenter/enet_z.jsp?articleid=20070910816746