如何在Linux中使用VI编辑器
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编辑器退出的任务。
在文件周围移动
虽然在命令模式下,我们可以将光标从一个位置移动到另一个位置。
基本光标运动命令是:
h
左k
向上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命令本身不会复制。
我们需要指定要复制的内容。
yy
yank线yw
yank字yl
yank字母
同样,我们也可以使用(,),{}命令更大的量复制。
这些命令将具有与运动命令中的通常含义。
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编辑器。