vi 命令常见问题解答

作者:译者Elale


[vi-faq中文版]

0.0 - 引言 -- 我怎样用这个FAQ

这个文档分为了几个部分.首先,第0节和第1节介绍了什么是vi;第2节则收录了很多新
学者的问题,一些对vi没有很多经验的人也经常问这些问题.这里面包括诸如“命令模式和插入
模式之间的区别”,连同“我怎样拷贝和粘贴”之类的问题.第3节是面向vi的中级用户的,他从
问题“我如何查找和替换”开始,逐步深入,直到对vi里面的宏(Macro)的用法讨论为止.第3
节还包括了一个vi的快速参考,有一个规范的vi命令列表.再下面,是个有关“:set”命令的
列表,包含了任何能定制vi环境的变量,这些变量也能够在.exrc文档中定义.

我们已在一个运行SunOS和UCB版本vi的机器上验证了快速参考.除了SunOS带的vi外,
每个命令都能够在系统V和UCB版本vi运行,但是我个人并没有验证这一点.

除非我们在文档中指明,缺省我们假定您处在命令模式下.

我们还尝试保留尽可能多的术语,因为在原始的vi文档中使用了这些术语,尽管我可能
忘了他的本来含义.

0.1 - 索引

第一个文档:

0.0 - 引言 -- 我怎样用这个FAQ?
0.1 - 索引
0.2 - 我能够散发这个FAQ吗?
0.3 - 您能为这个FAQ做什么?

1.0 - 什么是vi?
1.1 - 关于vi有什么重大的交易吗? 为什么大家都用他? 更进一步说,为什么我要用他?
1.2 - 噢! 这听起来不错! 有没有理由不用vi?
1.3 - vi能在多少不同的操作系统下面运行?
1.4 - 好吧, 您说服了我. 我决定开始使用vi. 我该从哪儿开始?
1.5 - vi有其他一些可用的变种吗?

2.0 - vi入门
2.1 - 有什么游戏帮助我们学习vi吗?
2.2 - 命令模式和插入模式有什么区别?
2.3 - 等等,我的键盘没有<Esc>键,我该怎么办?
2.4 - 那些~s是什么东西?
2.5 - 我无法习惯用 hjkl, 您有什么建议吗?
2.6 - 我如何才能不存盘就退出?
2.7 - 我怎样插入一个文档?
2.8 - 我怎样查找文本?
2.9 - 我怎样搜索一个控制序列?
2.10 - 我怎样重新格式化文本?
2.11 - 我怎样复制文本?
2.12 - 啊! 我刚才敲了一个dG,然后我的论文就没有了! 我该怎么办?
(或,我刚才犯了个错误,我该怎么办?)
2.13 - 我正在写我的论文,被告知我必须将每一节都放在不同的文档里,我该怎么办?
2.14 - 任何的:命令都是怎样处理的?

3.0 - 怎样查找和替换?
3.1 - 我怎样在vi中运行一个程式?
3.2 - 啊! 我正在写我的论文, 系统崩溃了! 怎么办?
3.3 - 有没有使vi对程式员更友好的窍门?
3.4 - 宏 -- 我怎样写宏?
3.5 - 我怎样将一个功能键定义成一个宏?
3.6 - 有没有办法缩写文本?
3.7 - 我怎样在当前文档中做拼写检查?
3.8 - 我手头有一个硬拷贝的终端, 我还能用vi吗?
3.9 - 好了,是不是处在开放模式下的原因呀?! 但是我现在没有用硬拷贝终端,他还是在
开放模式呀?

第二个文档:

4.0 - vi档案的在线帮助在哪儿?
5.0 - 好玩的vi诀窍,无聊的宏
5.1 - 好玩的vi诀窍
5.2 - 好玩的宏
6.0 - 依字母顺序的vi快速参考
6.1 - 命令模式的输入选项(:命令)
6.2 - 配置选项(set)
7.0 - 建立 .exrc文档
7.1 - .exrc文档的样本
8.0 - vi的漏洞
9.0 - 术语表
10.0 - 关于vi的参考书目

0.2 - 我能够散发这个FAQ吗?

能够!只要您没有对他做任何修改,或用他来赚钱.

0.3 - 您能为这个FAQ做什么?
首先, 把您发现的错误告诉我. 假如您有什么建议我们也很欢迎. 您认为还不清楚的地方
告诉我们,我们同样欢迎.
更有, 使用vi! (Spread the word) 我很抱歉我无法将任何对这个FAQ有贡献的人都列出
来, 因为很多的人都给过我建议和帮助,假如我将他们都列出来的话,那么恐怕这张贡献
者的清单将和这个文档本身相同长了.

1.0 - 什么是vi?
vi是个可视化的编辑器(vi就意味着可视化--VIsual). 那么,什么是可视化的编辑器呢?
(相对于非可视化的编辑器来说)?可视化的编辑器就是能够让您在编辑文本的时候看到他们.
今天,这听起来似乎很普通,反之,非可视化的编辑器似乎很奇怪. 非可视化的编辑器的例子
能够举出不少:如ed, sed和edlin(直到相当近的一段时间内,他是DOS自带的最后一个编辑器)
等.
vi是威廉.侨伊写的,作为BSD UNIX的一部分. 后来AT&T也开始用vi, 于是标准UNIX也开始
用vi了.

1.1 - 关于vi有什么重大的交易吗? 为什么大家都用他? 更进一步说,为什么我要用他?
vi是UNIX下面的缺省编辑器, 因此几乎近来任何的UNIX都捆绑了vi(近来是指1984年左右).
这意味着无论何时您跨平台使用某种UNIX,您都知道在您指尖下面有一个强力的编辑器.为什么
不是别的呢? vi是个强大的编辑器.同样,一旦您了解了vi,您就能很快的编辑您的文档,因为他
很能节省您的敲键次数. 由于他在插入和命令两种情况下使用不同的模式,他比大多数的不
基于这种模式的编辑器要快. 而且,vi很小(我机器上面的版本只有200K).更有,vi几乎能做
任何事,只要您知道如何使他做您想做的事.

1.2 - 噢! 这听起来不错! 有没有理由不用vi?
有. 有一个很好的理由: vi稍微有些难学, 假如您开始学的话,vi又慢又让人痛苦,
当然,一旦您学会了, vi就快多了. 但是学习的过程很慢. 有人曾问我, 假如vi是个比较
易学的编辑器, 他是否直观(intuitive)呢? 我一般这样回答:"是的,我们有些人是这样认为.
但是大多数人认为我们疯了."

1.3 - vi能在多少不同的操作系统下面运行?
UNIX. 就是他. 尽管如此,还是有很多vi的变种运行在不同的操作系统上. 我就在以下一些
操作系统上用过vi: UNIX, DOS, OS/2, MAC SYSTEM 7.(后面有一个有关细节的列表)

1.4 - 好吧, 您说服了我. 我决定开始使用vi. 我该从哪儿开始?

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!