现代的Vim编辑器是基于一个古老的名为vi的编辑器设计而成的,而vi基于一个更古老的基于命令行方式的ex编辑器设计而成的。ex编辑器是在屏幕产生以前相当流行的一个编辑,他是为那时古老的标准打印而设计的。
仅管ex是基于命令行方式的,然而他也是真正意义上的一个强大而高效的编辑器。即使是在今天他也是发挥着作用。仅管现在的Vim编辑器有一套的命令系统,可是有些事情还是要用ex的命令方式才可以更好的来完成。因而现在的Vim编辑器设计了与ex编辑器的接口,我们可以在Vim中使用ex方式的命令。而那些以冒号开头的命令就是一个ex方式的命令。
如果你想执行单一的命令行方式的命令,那么你只输入:然后输入命令就可以了。例如我们在前面讨论的:set number.事实上他就是一个命令模式的命令。在执行完这个命令以后,Vim编辑器又回到了他原来的状态。我们可以通过命令:ex选择进入命令行模式。Q命令也有同样的作用。如果要选择回到正常模式(normal mode)也就是可视化模式(Visual mode),我们可以使用命令:visual.
命令:print(简写为:p)可以打印出选定的行。如果没有传递参数,他仅是打印当前的行。打印完成以后回到打印行的开头。我们也可以指定要打印的行的范围。例如命令:1,5 print就是要打印1到5行。严格来说你不必须在数5和print之间输入空格,但是如果这样做后我们就会现这个命令看起来会更好。如果你仅仅是想打印第5行,你可以用这样的命令::5 print.当然了我们也可以使用一些特殊的数字标记,例如字符$是指最后一行,因而如果我们想要打印全文的时候我们可以用这样的命令::1,$ print.而字符%是指整篇文章(1,$),因而我们也可用这样的命令来打印整篇文章::% print,而.则是指当前行,我们要打印当前可以用:print命令而不带任何参数,也可以用这样的命令:.print。我们还可以用指定句子中内容来打印选定的行。例如在我们的文章中我们可以用这样的命令来打印含有字符ex的行::/ex/ print。这样就会打印出含用ex的行,并会高亮显示出ex。同样命令:?ex? print也会达到同样的作用,而命令:?ex? print也正是打印含有ex字符的命令格式。
在前面的学习中我们曾学过标记命令m,例如我们可以在任何地方用命令ma做上标记,然后在其他的地方可以用命令‘a回到做了标记的地方。这个命令也可以与print命令组合。例如我们可以在一个地方用命令ma做上标记,然后在其他的地方用命令mb做上另外的标记,然后我们就可以执行下面的命令来打印这两个标记之间的内容了::'a,'b print
我们也可以在可视化的模式下来选定要打印的内容。例如我们用命令V进入可视化模式并选定一段内容,这时我们输入:就会在Vim的底部显示<,>两个字符,这两个字符分别指我们的选定内容的开头和结束部分。
命令:substitute可以使我们将指定的字符换成其他的字符。这个命令的格式是这样的:
:range substitute /from/to flags
在这个命令中range是指定了范围,也就说是在哪些行里做替换。而后是说将字符串from替换成字符串to。在默认的情况下,这个替换命令仅是将一行中第一个出的的字符替换成给定的字符。而如果我们想将所有出现的字符都替换成给定的字符我们就用g这个标记命令。例如::% substitute /from/to/g.这个命令就达到将所有出现from的地方全部替换成to。其他的标记(flags)包括:p(print),这个命令是告诉substitute打印所做的改动。c(confirm),这个命令是告诉substitute命令在做出这样的改动以前要询问是否要做这样的改动例如如果我们执行下面的命令::1,$ substitute /Professor/Teacher/c.在Vim就会显示我们将要做改动的文本,并显示下面的内容:
Prfessor: You mean it's not supposed to do that?
replace with Teacher(y/n/a/q/^E/^Y)?
这时你可以做出以下这样的回答:
y 执行这个替换
n 跳过这个替换
a 执行所有的替换不要做询问
q 退出,不做任何改动
CTRL─E 向上翻滚一行
CTRL-Y 向下翻滚一行
在Vim的命令还有一些命令可以帮助我们很好的完成我的工作:例如命令:read filename可读进一个文件并将读进和内容插在当前行的后面。而命令:write是将文件写入。这是一个保存我们工作的方法。我们也可以用命令:write newfile将当前的文件内容写入一个新的文件。一般情况下:write命令并不会覆盖已经存在的文件。我们可以用强制操作(!)选项来完成我们所需要的操作并覆盖当前已经存在的文件。而这个命令对于我们要将一个大的文件分拆为小的文件时显得更有用。我们可以用可视化模式选定一个范围然后将这个选定的范围写入新的文件,从而实现了分拆的目的。
我们还可以Vim中不需要退出而执行Shell命令。命令:shell可以使们进入命令终端执行我们需要的命令。当我们要退出终端回到Vim中时可以执行exit命令。我想这对于程序人员来说真是一个巨大的帮助。:)
分享到:
相关推荐
学习使用Vi编辑器建立、编辑、显示及加工处理文本,并了解Vi编辑器在Linux系统中的重要性。 二、实验内容 1. 进入和退出Vi 2. 利用文本插入方式建立一个文件 3. 在新建的文本文件上移动光标位置 4. 对文件执行删除...
"学习使用 vi 编辑器" 在 Linux 操作系统中,vi 编辑器是一个功能强大且广泛使用的文本编辑器。学习使用 vi 编辑器可以提高用户的工作效率和编程能力。下面是学习使用 vi 编辑器的一些知识点: 实验目的 * 练习 ...
vi编辑器的学习曲线可能较陡峭,但一旦掌握,就能大大提高文本编辑效率,尤其是在系统管理和服务器维护等场景下,它的强大功能和高效操作将为你带来极大的便利。尽管现代有许多图形化编辑器,但vi作为基础工具,对于...
### vi编辑器的使用(一)笔记 #### 一、vi编辑器的三种模式及其切换命令 vi编辑器是Linux中最基本也是最强大...通过以上内容的学习,相信您已经掌握了vi编辑器的基本操作技巧,这对于后续更深入的学习是非常有益的。
Linux下的vi编辑器是一款强大的文本编辑工具,它具备丰富的文本操作功能,允许用户根据个人需求进行定制。vi编辑器的特点在于它不包含图形界面菜单,而是通过命令模式进行操作,分为命令模式、插入模式和末行模式三...
通过这本书,读者可以深入学习vi编辑器,掌握文本编辑的高效技巧,无论是进行日志分析、系统配置还是代码编写,vi编辑器都能提供强大而灵活的文本处理能力。而对于Linux公社(***)提供的信息,尽管它在书中被重复...
对于初学者来说,理解并熟练使用`.vimrc`文件是一个重要的里程碑,它标志着你对Vi编辑器的使用进入了一个新的层次。不断探索和优化你的配置,你会发现Vi不仅是一个工具,更是一种高效的工作方式。
### Linux操作系统实验vi编辑器的使用 #### 实验目的 本次实验旨在使学习者能够熟练地运用Linux系统中的vi编辑器进行文本编辑工作。通过实际操作掌握以下技能: 1. **掌握Linux系统的vi编辑器的基本操作**:了解vi...
《学习vi和Vim编辑器(中文版第7版)》将说明使用这两种程序编辑文档的基础技巧,并讨论高级工具,例如交互式宏与扩展编辑器的脚本——我们的内容编写成容易遵循步骤操作的风格,成就本书的经典地位。读者将学到: ·...
本文是针对初学Unix Vi编辑器的网友的,而文后所付的详尽的命令表也可作为已经熟练使用vi的网友的参考之用, 因此你最好下载本文或打印本文然后对照实践学习。 编辑器是使用计算机的重要工具之一,在各种操作系统...
但是,用户需要花一些时间来学习和熟悉 vi 编辑器的命令和模式,以便更好地使用 vi 编辑器。 知识点: 1. vi 编辑器是一种功能强大的屏幕编辑器,提供了一个视窗设备,通过它可以编辑文件。 2. vi 编辑器有三个...
### VI编辑器的使用知识点详解 #### 一、VI编辑器简介及启动与退出 **VI编辑器** 是一种在Unix及其衍生系统中广泛使用的文本编辑器,它以功能强大著称,尤其受到Linux用户的喜爱。尽管现代有许多图形界面的编辑器...
总的来说,"WinVi32.exe"为Windows用户提供了在熟悉的环境中使用VI编辑器的可能性,使得跨平台开发变得更加便捷。对于习惯于VI编辑器的开发者来说,无论是在Linux还是Windows系统下,都能保持一致的工作流程,提高...
尽管Emacs编辑器在某些方面表现更佳,但VI编辑器仍然是一个值得学习和使用的强大工具。对于初学者而言,了解VI编辑器的基础操作是非常有用的,尤其是在进行配置文件编辑和其他需要快速响应的任务时。