vi编辑器常用操作,vi编辑器如何运行
现代的Vim编辑器是基于一个叫vi的老编辑器,vi是基于一个更老的基于命令行的ex编辑器。Ex editor在屏幕出现之前是相当流行的,是为当时的老标准印刷设计的。
ex虽然基于命令行,但也是真正意义上的强大高效的编辑器。即使在今天,他仍然扮演着一个角色。虽然现在的Vim编辑器有一套命令系统,但是使用ex的命令模式可以更好的完成一些事情。所以现在的Vim编辑器已经设计了与ex编辑器的接口,我们可以在Vim中使用ex风格的命令。以冒号开头的命令是ex-type命令。
如果您想执行一个命令行命令,那么您只需键入:然后输入命令。比如我们之前讨论过的:集数。实际上,它是一个命令模式命令。执行这个命令后,Vim编辑器返回到原始状态。我们可以选择通过命令:ex进入命令行模式。q命令具有相同的效果。如果要选择返回正常模式(即可视化模式),我们可以使用命令:Visual。
命令:print(缩写为:p)可以打印出选中的行。如果没有传递参数,他只打印当前行。打印后,回到打印行的开头。我们还可以指定要打印的行的范围。比如命令:1,5 print就是打印1到5行。严格地说,您不必在数字5和print之间输入一个空格,但是如果您这样做了,我们会看到这个命令看起来会更好。如果只是想打印第五行,可以用这个命令:5 print。当然,我们也可以使用一些特殊的数字标记,比如字符$是指最后一行,所以如果要打印全文,可以使用这个命令:1,$ print。而字符%指的是整篇文章(1,$),所以我们也可以用这个命令打印整篇文章:%。我们还可以用指定句子的内容打印选定的行。例如,在本文中,我们可以使用这样的命令来打印包含字符ex: /ex/print的行。这将打印出带有ex的行,并突出显示ex。相同命令:前任?打印会达到同样的效果,命令:前任?Print也是包含ex字符的打印命令的格式。
在前面的学习中,我们已经学习了标记命令m,例如,我们可以用命令ma标记任何地方,然后我们可以使用命令 A回到其他地方的标记位置。该命令也可以与打印命令结合使用。例如,我们可以用命令ma标记一个地方,然后用命令mb标记另一个地方,然后我们可以执行下面的命令来打印两个标记之间的内容: a, b print
我们还可以在可视模式下选择要打印的内容。例如,我们使用命令V进入可视化模式并选择一部分内容。此时,当我们输入:它将显示在Vim的底部。两个字符分别指我们所选内容的开头和结尾。
命令:substitute允许我们将指定的字符更改为其他字符。该命令的格式如下:
:范围替代/自/至标志
在该命令中,range指定了范围,也就是说,在哪些行中进行替换。这意味着将字符串from替换为字符串to。默认情况下,此替换命令仅用给定字符替换一行中的第一个字符。如果我们想要用给定的字符替换所有出现的字符,我们将用g标记该命令。例如:% substitute/from/to/g。该命令将用to替换所有出现的from。其他标志包括:p(print),它告诉替代者打印所做的更改。c(确认),这个命令告诉substitute命令在进行这样的更改之前询问是否要进行这样的更改。比如我们执行以下命令:1,$ substitute/professor/teacher/c .在Vim中,会显示我们要进行修改的文本,并显示以下内容:
教授:你的意思是它不应该那样做?
替换为Teacher(y/n/a/q/^E/^Y)?
这时,你可以做如下回答:
y执行此替换。
n跳过此替换
a .执行所有的替换,无需询问。
q,不做任何更改就退出。
Ctrl-e向上滚动一行
CTRL-Y向下滚动一行
Vim的命令中也有一些命令可以帮助我们很好地完成我的工作:比如命令:read filename可以读入一个文件,并在当前行之后插入读入的内容。命令:write是将文件写入。这是保存我们工作的一种方式。我们也可以使用命令:write newfile将当前文件的内容写入一个新文件。通常,写命令不会覆盖现有文件。我们可以用强制手段(!)选项来完成我们需要的操作并覆盖现有文件。当我们想把一个大文件分割成更小的文件时,这个命令更有用。我们可以通过可视化的方式选择一个范围,然后将选择的范围写入一个新的文件,从而实现拆分的目的。
我们还可以在Vim中执行Shell命令,而无需退出。命令:shell可以让学生进入命令终端执行我们需要的命令。当我们想要退出终端并返回到Vim时,我们可以执行exit命令。我觉得这对程序员真的是很大的帮助。)