当前位置:操作系统 > Unix/Linux >>

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. 我该从哪儿开始?

  好吧, 狡猾的家伙. 关于vi有很多很好的书:大多数讲UNIX的书至少有一章给了vi,而且

  有不少是专门讲vi的书.我没有什么偏爱. 所以你最好是问问你们那儿的vi高手们他们是从

  哪儿学来的. 还有,到处试. 用vi打开一个不重要的文档(你的论文不象是个学vi的好实验品),

  然后再到处试. 我无法想象有人学习vi却不花相当多的时间去到处试试. 记住:如果你有些

  地方不明白了, 只要敲两次<Esc>键,你就又回到命令模式下了.

  我要提到的一点是,我想在这里提比较合适,就是如果要成为系统管理员或者其他对UNIX配置

  做什么修改的话,最好是学学ed或者ex,因为有些版本的UNIX没有把vi放在根分区里面,这样你

  就可能无计可施了. ed是个不错的选择.

  1.5 - vi有其他一些可用的变种吗?

  只能列出一部分:STvi (STevie), elvis, vile, vim, 和nvi, xvi.

  elvis适用于:Amiga, DOS, OS/2, Unix, VMS, Atari.

  STevie适用于: Atari ST, DOS, Unix, Mac System 7.

  Mac System 7可以在很多info-mac的镜象站点获取,在/info-mac/text下.

  (例如ftp.hawaii.edu)

  nvi是将和BSD 4.4易做图在一起的vi.

  vim适用于: Amiga, DOS, Mac System 7, Unix.

  Amiga, DOS,和源码可以在以下站点换取:ftp.fu-berlin.de /misc/editors/vim

  Mac System 7可以在很多info-mac的镜象站点获取,在/info-mac/text下.

  (例如ftp.hawaii.edu)

  vile适用于: DOS, OS/2, Unix, VMS.

  xvi适用于: DOS, Unix.

  vi的变种之间很有很多差异.很多都改进了vi,大多数都可以使用在这个文档

  种列出的命令,但是有一些不同的地方.更进一步的细节,你可以参考这些变种

  附带的相应的文档.

  2.0 - vi入门

  对vi的初学者来说,有些基本的提示.第一,任何时候,手头都要有一份命令摘要.

  我们将在后面给出一个快速参考/命令摘要. 第二, 找一本vi方面的比较好的书.

  这个文档不是学vi的最佳途径(最起码现在还不是),我不敢保证这个文档能教会一个

  对vi一无所知的人, 而很多书已经做到了这一点. 但是,我们这里还是给出了不少

  提示. 对选择书籍来说,有一个标准的原则:买之前一定要仔细阅读. 要了解这本书

  对你是否有意义.确信它能在你练习vi的时候有用. 和
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,