VI - 从入门到精通之一
作者:Wilbur Lang
无论在什么系统上,文本编辑器也许都算得上是最普通和最有用的工具了。一个文本编辑器是一个创建、修改文本和数据对象的程序。他和字处理程序和桌面出版程序的区别是他只处理 plain ASCII 文本,没有格式信息。后者更倾向于处理复杂的文档。一个典型的字处理软件都有图形化的用户界面 (GUI)和 "what-you-see-is-what-you-get" 的效果。
文本编辑器的一般用途是处理简单的 ASCII 文本、源程序、e-mail等等。因此,他们都对相应的处理对象有一定的扩展。例如格式化相应的程序语言 (C++, Lisp, HTML 等)。详细的例子我们将在后面介绍。
我们在这里将为您介绍 UNIX 世界中最常见的编辑器:vi 。您也会发现在这个世界上还有一种人狂热地喜欢 VI。
全屏幕编辑器 VS 行编辑器
全屏幕编辑器就是指用户工作的时候他可以在终端上看到他所处理的文件的全部或者部分。例如在一个25行的显示终端上,他可以看到文档中的24行。在编辑的时候,你并非在处理硬盘上的实际文件,而是你的文件的一个拷贝。这个拷贝一般叫做缓存。所有对文件的增加、修改、删除操作都是对缓存的操作,只有当你保存的时候,实际的文件才有改变。所以你一定听说过要经常保存你正处理的文件的建议。这个建议对于所有类似处理的程序都有用。
你可以想象屏幕是个在缓存中移动的视口。这个视口我们称为窗口。
相对而言,行编辑器则不会连续的显示你正处理的文件。他一次处理一行。因此他的界面很简单。自然而然,你会认为全屏幕编辑器的好处了。
但是,不要认为行编辑器简单的外表就一定缺乏强劲的处理能力。在行编辑器下,你能完成许多全屏幕编辑器很难完成的工作。
什么是 vi?
vi (一般,我们发音为 vee-eye ) 是一个几乎每个 UNIX 系统都具备的行编辑器。还有许多变种存在于许多其他的操作系统中。例如 Amiga、 Atari、Macintosh、MS-DOS、OS/2、Windows 3.1/95/NT。
vi 和 ex的关系
vi 和行编辑器 ex很相近。(实际上他们是一个程序!) vi 是可视化 (visual)的 ex。也就是说,你可以用 ex 开始编辑一个文件。任何时候,你都可以调用可视化的 ex。 在 vi 中,你随时可以到 ex 环境中。在后面的文章中可以看到例子。
为什么对 vi 感兴趣?
许多计算机用户对于 PC 机上的字处理软件很熟悉。如果你曾经用过这样的软件,也许你会对 vi 很失望。他不是一个 "what-you-see-is-what-you-get" 或 WYSIWYG 的字处理软件。然而,这样的字处理软件在典型的 UNIX 系统上是不多见的。vi 在几乎所有的 UNIX 系统下都有。
缺乏 GUI 也许对于初学者是个障碍,但是许多高级用户认为高效率的工具是命令行的用户界面。是的,当这些键盘命令成为你的本能的反应后,生产效率将远远超越其他的编辑器。实际上对命令行的用户界面的误解来自:人们总认为自己不可能记忆那么多命令。实际上,对于命令已经是手指的舞蹈而非记忆的功劳了。
进入和退出 vi
用一个新程序,首先你要知道的是如何进入和退出这个程序。最简单的进入 vi 的方式是输入程序的名字和你想编辑的文件的名字。如果你没有提供文件名,vi 将开一个空的屏幕,除了左边一列有些怪符号。下面就是你将看到的屏幕:
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
Empty buffer
也许最下面的一行什么东西也没有——这取决于你使用什么版本的 UNIX 系统。在这里,他显示的是 "Empty buffer," 屏幕上弯弯曲曲的符号表明那行是空的,最下面的一行显示信息或者输入的命令。在后面的章节中我们将称呼他为命令行。
如果你输入了文件名,那么屏幕上将充满了你的文件。而文件名和行数将显示在最后一行。就象这样:
If wise, a commander is able to recognize changing circumstances and to
act expediently. If sincere, his men will have no doubt of the certainty of
rewards and punishments. If humane, he loves mankind, sympathizes with others,
and appreciates their industry and toil. If courageous, he gains victory by
seizing opportunity without hesitation. If strict, his troops are disciplined
because they are in awe of him and are afraid of punishment.
Shen Pao-hsu ... said: 'If a general is not courageous he will be unable
to conquer doubts or to create great plans.'
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"art1" 8 lines, 576 characters
你应该知道的另外一件事是你该知道如何退出他。相对于你想如何对待你的缓冲,有几种办法可以达到目的。所有这些命令你必须在命令模式下输入(以后详细讲解)。为了确认你是在命令模式下,按下 ESC 直到你听到喇叭声。
输入命令 ZZ 将保存文件然后退出。另外的方式是在 ex 模式下的。为了进入 ex 模式,输入冒号,屏幕上最下面一行将显示冒号,光标在冒号右边闪烁,等待你的命令。
q 键将 "退出" 文件。不过前提是在你上次存盘后你没有修改文件。如果你对文件有过修改,你将不能退出,并得到下面的警告信息:No write since last change (use ! to override) 。命令 wq 可以帮你的忙,他保存文件然后退出。或者你就用 q! 来放弃你做的修改。
表 3.1 总结了迄今为止我们讲的命令。
表 3.1. 退出命令
Keystrokes |
Result |
ZZ |
保存文件,退出 |
:wq |
保存文件,退出(和 ZZ 类似) |
:q |
退出。防止没有保存就退出。 |
:q! |
退出。无论保存与否,都退出。 |
分享到:
相关推荐
根据提供的标题“LabVIEW程序设计从入门到精通.pdf”,我们可以推断出这是一本关于LabVIEW编程技术的书籍。LabVIEW是一种广泛应用于测试测量、数据采集与分析、自动控制等领域的图形化编程语言。下面将从LabVIEW的...
### VI编辑器从入门到精通 #### 一、VI编辑器简介 VI(Visual Editor)是一种功能强大的文本编辑器,广泛应用于各种Unix系统及其衍生版本(如Linux等)。与现代带有图形用户界面(GUI)的编辑器不同,VI编辑器在...
### K8s实战案例总结-从入门到精通 #### 基础集群环境搭建 Kubernetes(简称K8s)是Google开源的一个容器集群管理系统,它可以帮助用户自动部署、管理和扩展容器化的应用。本文档旨在提供K8s基础集群环境搭建的...
LabVIEW_8.20程序设计从入门到精通的教程是针对该版本的一个详细学习资源,旨在帮助初学者快速掌握LabVIEW的基础知识和高级技巧。 一、LabVIEW基础概念 1. 图形化编程:LabVIEW采用的是G语言,即图形化编程语言,...
《LabVIEW程序设计从入门到精通》实例1是一份全面介绍LabVIEW编程技术的教程,旨在帮助初学者快速掌握这一强大的图形化编程语言。该教程涵盖了从基础操作到高级应用的各种主题,通过实例深入浅出地讲解了LabVIEW的...
总之,Labview从入门到精通的过程,是对工具选板、控件与函数模板的深入了解和灵活运用,加之自定义功能的探索与实践。通过本文的详尽解析,相信读者已经掌握了Labview的核心概念和关键技能,为今后的项目开发奠定了...
从入门到精通不仅意味着学习一系列的命令和工具,还包括了解Linux的设计哲学、内核原理、硬件兼容性处理等更深层次的内容。只有通过系统地学习和实践,才能真正掌握Linux,成为一名合格的Linux用户和开发者。
《LabVIEW 8.20从入门到精通》配书光盘范例:For循环.vi
《LabVIEW虚拟仪器程序设计从入门到精通》是由林静、林振宇和郑福仁三位专家编著的一本深入浅出的LabVIEW教程。这本书分为五篇,共计26章,旨在帮助读者从基础开始,逐步掌握LabVIEW这一强大的虚拟仪器设计平台。 *...
"LabVIEW 8.2 从入门到精通示例程序"是一套针对初学者和进阶者的教程资源,旨在帮助用户掌握LabVIEW 8.2的基本操作和高级应用技巧。 1. **基础概念**: - **虚拟仪器**:LabVIEW的核心理念,通过图形化编程实现...
《LabVIEW 8.20 程序设计从入门到精通》实例 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国国家仪器公司(NI)开发的一种图形化编程环境,专为创建虚拟仪器而设计。它以图标和连接线...
《LabVIEW 8.20程序设计从入门到精通》是一部深入浅出的教程,旨在帮助初学者快速掌握LabVIEW编程技术,同时也为熟练用户提供了更深入的学习资源。LabVIEW,全称Laboratory Virtual Instrument Engineering ...
在编辑文本时,Vim提供了一系列高效的导航命令,例如'n'和'N'用于在查找结果之间跳转,'Ctrl-l'用来刷新屏幕,'gg'和'G'用于跳转到文件的开头和结尾。Vim还支持在文本中插入特殊字符,如NUL字符,以及通过':global'...
"LabVIEW2010中文版虚拟仪器从入门到精通---ppt"是一个教学资料压缩包,包含了关于LabVIEW 2010的基本概念、操作方法以及高级应用的详细介绍,旨在帮助初学者快速掌握这一强大的软件工具。 1. LabVIEW基础:LabVIEW...
【压缩包子文件的文件名称列表】"清华Linux从入门到精通PPT"可能是压缩包中的主要文件,包含了一系列PPT文件,这些文件可能按照章节或主题组织,每一份PPT都详细讲解了一个或多个Linux相关知识点。 具体知识点可能...
总之,《LabVIEW 8.2程序设计从入门到精通》这本书结合光盘源码,为学习者提供了一条全面掌握LabVIEW编程的途径,无论你是新手还是有一定经验的开发者,都能从中受益。通过深入研究书中的实例和源码,你可以提升自己...
Linux运维-操作系统 教程 从入门到精通101课-39-39文件系统命令-vi模式切换.mp4
Linux运维-操作系统 教程 从入门到精通101课-37-37文件系统命令-vi打开文件.mp4
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化...配合《LabVIEW 8.20程序设计从入门到精通》一书使用,能够系统地学习和掌握LabVIEW编程,从而在科学计算、自动化测试等领域游刃有余。
Linux运维-操作系统 教程 从入门到精通101课-38-38文件系统命令-vi三种模式.mp4