如何在Linux中使用VI编辑器

时间:2020-03-05 15:28:45  来源:igfitidea点击:

VI是UNIX和Linux系统中的标准文本编辑器。
它是一个视觉编辑器,而不是线编辑"ed"和"ex"。
首先,如果我们是新的,vi可能会有点不舒服,或者已经使用其他高级编辑器像'gedit'。
但是一旦你习惯了,就可以与vi一起工作真的很简单和快速。

在本教程中,我们讨论VI的工作模式以及如何使用它。
但最终,练习将使我们在vi舒适且高效。

开始VI.

可以通过在命令行中键入VI并将文件名作为参数传递给它来编辑文件。

vi filename

这将在VI编辑器中打开该文件。
我们在文件中所做的更改存储在缓冲区中,直到保存它们。
如果由于参数提供的文件不存在,则如果未放弃的更改,将创建具有该名称的新文件。

VI的工作模式

VI编辑器有三种模式工作:

1.命令模式2.插入模式3. EX模式或者最后一行模式

命令模式是VI的默认模式。
在VI中打开文件时,我们可以处于命令模式。
我们可以仅从命令模式更改为插入模式和EX模式。
我们无法从插入模式直接进入EX模式,反之亦然。
我们输入命令模式的键将被解释为命令,而不是作为文本的一部分。
插入模式是输入的模式是文档的一部分。
在EX模式下,执行像保存文件和从VI编辑器退出的任务。

在文件周围移动

虽然在命令模式下,我们可以将光标从一个位置移动到另一个位置。
基本光标运动命令是:

hk向上l

这意味着在命令模式下按下"H"键将移动光标左侧的当前位置。
这4个键一次将光标移动一个字母。
但是,使用这些键在大文件周围移动将需要很多时间。
我们可以通过段落,句子甚至段落移动。

通过Word:

w向前一个字。
B向后一个字。

通过句子:

`)"前进一句话。
"("落后一句话。

按段落:

`}"前进一段。
"{"落后一段。

有一些另外的运动命令:

$移动到当前行的结尾。
0移动到当前行的开头。
gg移动到文档的开头。
g到文件的末尾。

插入模式

我们可以通过多个命令从命令模式输入插入模式。
在此模式下,我们按下的所有键都将出现在文档中。
第一个命令是'i'。
按"I"在命令模式下将带我们插入模式,我们将能够在光标位置插入。

a命令将模式更改为命令模式并将光标放在当前位置之前,允许我们在当前光标位置后"追加"。

"o"将"打开"在当前线下方的新线,并将光标放在该线上。
这也将带我们插入模式。

"我"将在当前行的开头插入。
"A"将添加到当前行的尽头。
o将在当前线上开辟一条新的线条。

要从INSERT Mode返回到命令模式,请使用ESC键。
按ESC键多次不会做任何事情。
在命令模式下,ESC键没有动作。
此外,我们无法直接从此模式进入EX模式。

基本编辑命令

我们可以从命令模式执行副本,剪切和粘贴的任务。

yank(副本)

y命令用于复制(或者yank)文本。
但是y命令本身不会复制。
我们需要指定要复制的内容。

yyyank线ywyank字ylyank字母

同样,我们也可以使用(,),{}命令更大的量复制。
这些命令将具有与运动命令中的通常含义。

y(yank)在光标位置后面的句子
y)在光标位置后拖动句子
y{yank上面的段落
y}yank下面的段落

删除(剪切)

要剪切或者删除文本,使用d命令。
类似于y(yank)命令,d命令也用于w,l,(,)等。

DD删除行dw删除字dl删除字母d(d背后的删除句子)删除句子前方d {deplete段落d}删除段落

粘贴

可以使用'p'或者'p'命令将ranked(复制)或者删除(切割)文本放置(或者粘贴)。
它取决于文本的性质如何将提出文本。
对于字母和单词,按'P'将在光标位置并按下'P'后将文本放在它之前。
对于一行或者段落,'P'将粘贴在当前行以下,并将其放置在当前行之上。

撤消

如果我们错误地在文件中进行了更改,则可以在命令模式下使用"U"或者"U"撤消它。
要撤消最新的更改,请在命令模式下按"U"。
"U"将撤消当前文件的所有更改。

重复命令n次数

如副本,删除和大多数其他命令等命令可以通过按命令前按该数字重复n次数。
例如,在命令模式下按3yy将y yank(复制)3行。
12DW将从当前光标位置删除12个单词。
类似地,可以使用前面10线10)。
6h将向左移动光标6位置到电流光标位置。

搜索文档

我们可以搜索当前文档,以便像我们可以在"少"中的模式。
在命令模式下,按/后跟要搜索的模式。
例如,如果要在文档中搜索"内核"字"内核",则将键入"/内核"(不带引号),然后按Enter键。
这将在当前光标位置下搜索短语"内核"的文档。
如果我们想在文档中向上搜索,请使用'?
'代替 '/'。
按"?
内核",后跟返回键将向上搜索短语"内核"的文档。
按'n'将继续在相同方向上搜索下一个匹配(例如,用于/),并将'n'沿相反的方向搜索。

保存(或者不)和退出

当我们对文档进行所有更改时,我们可能希望保存更改和/或者退出编辑器。
这些功能在EX模式下执行。
要从命令模式输入EX模式,请使用:(冒号)。
要将所有更改保存到缓冲区的磁盘,请执行以下操作。
:如果缓冲区没有任何未保存的更改,则q将从当前文档中退出。
要保存更改并退出文档,因此组合上述两个命令,例如:: WQ将保存更改并从VI编辑器退出。

要退出而不保存更改,请使用:q!命令。
(请注意,在这些EX模式命令不同的情况下,我们需要按Enter键与命令模式下的命令)。
更改也可以保存在另一个文件中(保存为选项)。
要保存名为myfile.txt的文件中的更改(例如),我们将键入:

:w myfile.txt

或者

:wq myfile.txt

另外的EX模式命令

:设置可用于配置VI编辑器的行为。
例如,要显示行号以及行,请使用以下EX Mode命令:

:set number

或者

:se nu (for short)

要关闭行号,请使用":set nonmer"或者":se nonu"。

我们可以从VI执行命令,而不使用":![命令]"。
例如:

:!ls
:!date

这将分别执行LS和Date命令,并在屏幕上显示结果。

按Enter键将控件返回到VI编辑器。