现在的位置: 首页 > 综合 > 正文

vi 概述(转)

2014年02月24日 ⁄ 综合 ⁄ 共 1664字 ⁄ 字号 评论关闭
 

 
无论在什么系统上,文本编辑器也许都算得上是最普通和最有用的工具了。一个文本编辑器是一个创建、修改文本和数据对象的程序。他和字处理程序和桌面出版程序的区别是他只处理 plain ASCII 文本,没有格式信息。后者更倾向于处理复杂的文档。一个典型的字处理软件都有图形化的用户界面 (GUI) "what-you-see-is-what-you-get" 的效果。
 
全屏幕编辑器 VS 行编辑器
全屏幕编辑器就是指用户工作的时候他可以在终端上看到他所处理的文件的全部或者部分。例如在一个25行的显示终端上,他可以看到文档中的24行。在编辑的时候,你并非在处理硬盘上的实际文件,而是你的文件的一个拷贝。这个拷贝一般叫做缓存。所有对文件的增加、修改、删除操作都是对缓存的操作,只有当你保存的时候,实际的文件才有改变。所以你一定听说过要经常保存你正处理的文件的建议。这个建议对于所有类似处理的程序都有用。
你可以想象屏幕是个在缓存中移动的视口。这个视口我们称为窗口。
相对而言,行编辑器则不会连续的显示你正处理的文件。他一次处理一行。因此他的界面很简单。自然而然,你会认为全屏幕编辑器的好处了。但是,不要认为行编辑器简单的外表就一定缺乏强劲的处理能力。在行编辑器下,你能完成许多全屏幕编辑器很难完成的工作。
 
什么是 vi?
vi (一般,我们发音为 vee-eye ) 是一个几乎每个 UNIX 系统都具备的行编辑器。还有许多变种存在于许多其他的操作系统中。例如 Amiga AtariMacintoshMS-DOSOS/2Windows 3.1/95/NT
 
vi ex的关系
vi 和行编辑器 ex很相近。(实际上他们是一个程序!) vi 是可视化 (visual) ex。也就是说,你可以用 ex 开始编辑一个文件。任何时候,你都可以调用可视化的 ex vi 中,你随时可以到 ex 环境中。在后面的文章中可以看到例子。
 
q 键将 "退出" 文件。不过前提是在你上次存盘后你没有修改文件。如果你对文件有过修改,你将不能退出,并得到下面的警告信息:No write since last change (use ! to override) 。命令 wq 可以帮你的忙,他保存文件然后退出。或者你就用 q! 来放弃你做的修改。
ZZ 保存文件,退出
:wq 保存文件,退出(和 ZZ 类似)
:q 退出。防止没有保存就退出。
:q! 退出。无论保存与否,都退出。
 
正式开始
vi 的模式
为了完成交互的全屏幕编辑工作, vi 有三种模式。插入模式 (insert) 用于输入文本。在插入模式下,你输入的任何字符都将显示在屏幕并存于文件。命令 (command) 模式用于大多数编辑功能。在命令模式下,所有的输入都将产生一定的响应而不是直接到文本中,例如移动光标、删除一块文本、拷贝文本等。第三个模式是执行另外的功能,例如查找、全局替换、处理多个文件等。这种模式是基于 ex 编辑器的。
 
启动 vi
vi 启动后,默认的模式是命令模式。按照下面的步骤试一试:输入程序名称启动 vi
 
移动光标和简单的编辑
是看一看基本的移动光标命令的时候了。训练训练你的手指,让他们以后自动的执行你所想的命令吧。
 
最重要的移动命令
让我们来看看有多少影响光标移动的命令。
h 左一个字符
j 下一行
k 上一行
l 右一个字符
 
x--删除一个字符删除文字的最简单的方式是用 x。这个命令的结果是光标所处的字符的消失,后面的文字左移动。如果你删除的字符是一行最后的一个字符,那么光标将向左移动一个,这样光标就不会停留在不存在的字符的下面了。假如没有任何文字了,喇叭就叫。
 
d--删除对象这个命令的右边还要有一定的文字对象。文字对象就是一块文字。他右边接的就是在控制光标移动的那些字符。例如 w 表示向前一个单词,那么 dw 将删除下一个单词。5w 表示前进 5 个单词,那么 d5w 将删除他们。
 
dd--删除一行最常用的 d 系列命令之一。和前面一样, 5dd 将删除 5
 
D--整个删除大写形式的 D 用来删除从光标到行尾。和 d$ 一样效果。
 
u--恢复要后悔吗?他不仅仅撤消删除,还撤消你所有的编辑工作。
 
.--重复重复编辑工作。

 

【上篇】
【下篇】

抱歉!评论已关闭.