Linux vi命令
VI编辑器是UNIX操作系统的默认编辑器,我们可以其中创建新文件或者编辑现有文件。
此外,我们可以通过此编辑器读取文件。
它是一个经典的文本编辑器,可在所有Linux发行版中使用。
默认情况下包括大多数Linux发行版以及非常易于使用。
vi模式
它有三种操作模式可以解决它。
命令模式
插入模式
最后一行模式(转义模式)
命令模式
命令模式是VI编辑器的主要模式,并在启动时,它在此模式下打开。
它仅理解命令,每个执行字符都被称为命令。
使用命令,我们可以复制,粘贴,切割和移动光标。
此外,我们可以通过此模式保存文件中的更改。
要小心使用字母案例,因为命令区分大小写。
默认情况下,我们处于命令模式,但如果要从其他模式输入此模式,请按"ESC"键。
如果它是命令模式,则VI将蜂鸣声或者闪烁。
插入模式
插入模式允许我们将文本插入文件中。
每个字符执行此模式都读为输入并保存在文件中。
默认情况下,VI处于命令模式;要进入插入模式,我们应该按键盘上的"i"。
要返回命令模式并保存更改,请按"ESC"键。
最后一行模式(转义模式)
最后一行模式可跳上屏幕的最后一行,执行命令,并保存更改。
要从命令模式输入此模式,请按colon [:]
。
VI编辑器命令
在本文中,我们将向我们展示一些有用的VI编辑器命令。
VI编辑为不同目的提供众多选项。
1.打开文件
如果要打开文件或者必须在Linux服务器中创建新文件,则可以使用以下命令: $vi output.log
此命令将打开output.log文件,或者如果它不存在,它将在工作目录中创建一个新文件。
当我们正在进行生产环境时,最可能在只读模式下打开配置文件: $vi -R app.config
即使文件使用":wq!",我们也可以保存更改即使文件是在只读模式下打开的。
2.文件导航
在文件中,我们可以使用命令向上,向下,向左,向右移动和执行其他操作。
这些命令是一个字符命令。
使用以下命令,我们可以在文件中不同地执行操作,而不会影响文件文本。
K
:向上移动光标。J
:向下移动光标一行。H
:留下一个字符的移动光标。l
:移动光标一个字符。0或者|
:在行开始时移动光标。$
:将光标移动到行的末尾。W
:将光标移动到下一个单词。B:
将光标移动到上一个单词。(
:将光标设置为句子的开始。)
:将游标设置为下一个句子的开始。h
:移动到屏幕的开始NH
:移动到屏幕的第n行M
:移动到屏幕的中间l
:移动屏幕的末端nl
:从底部移动到屏幕的第n行
3.文件滚动
与控制键使用的一些有用命令如下;
Ctrl + D
:半屏幕前进Ctrl + F
:一个全屏向前移动ctrl + u
:半屏幕向后移动Ctrl + B
:一个全屏向后移动ctrl + e
:向上移动一行ctrl + y
:向下移动一行Ctrl + L
:重绘屏幕
4.文件编辑和插入
在"插入模式"中,我们可以使用以下命令编辑和替换文件中的文本:
i
(小写)在光标当前位置之前插入文本。i
(大写)在当前行开始时插入文本。a
(小写)光标当前位置后插入文本。a
(大写)在当前行开始时插入文本。O
(小写)在光标位置下方,为文本输入创建一个新行。O
(大写)在光标位置上方,为文本输入创建一个新行。在光标位置下的"r"(小写),用打字的下一个字符替换一个字符。
R
(大写)文本从光标替换为右侧。s(小写)在光标下面,用任何数量的字符替换一个字符。
S
(大写)整行替换。
5.删除行和字符
要从已打开的文件中删除行和字符,可以使用以下命令:
"x"(大写)在光标位置之前,删除字符
x
(小写)在光标位置,删除该字符dw
删除当前光标位置到下一个单词d ^
从光标当前位置删除到行的开始。D $
删除光标当前位置到行的末尾。DD
删除了光标当前位置的线路。
6.复制和粘贴
要复制和粘贴文本,可以使用以下命令:
YY
当前线路将被复制。9YY
复制当前行和下面的九条线p
(小写)在光标后粘贴复制的文本。p
(大写)在光标之前粘贴复制的文本。
7.搜索模式
像UNIX Grep并找到命令一样,我们也可以在文件中搜索VI编辑器。
我们可以将顶部到底部和底部的特定单词或者ID搜索。
如果要找到第一次出现,请使用顶部到底搜索,并在最后一次发生,使用底部到顶部搜索。
/ERROR
命令将在从上到下搜索"错误"字并停止第一次出现。要查看下一个匹配,请输入"n"并使用"Shift + N
"进行前一场比赛。?错误
此命令将在底部到顶部搜索"错误"字并停止第一次出现。要查看下一个匹配,请输入"n"并使用"Shift + N
"进行前一场比赛。
8.在VI编辑器内运行shell命令
在编辑过程中,有时我们需要一些有关我们需要运行某些shell命令的原因的更多信息。
为此,我们通常关闭VI编辑器,然后运行shell命令。
这不是一种快速的方法。
我们可以直接从VI编辑器执行shell命令。
在命令模式下使用命令之前使用"!"标志。 例如,我们需要运行"ls
"命令,并且可以执行; :!ls
如果我们想在不戒断VI编辑器的情况下去shell,请使用"!sh"命令并使用"出口
"命令返回VI编辑器。
9.在文件中查找并替换文本
VI编辑提供自己的查找和搜索命令':s'。
此命令将查找特定模式,并将其用给定的替代品替换。
语法: :%s/old-string/new-string/
例子: :%s/Funny/Hilarious/
上面的命令将用文件中的"搞笑"一词替换第一次出现"有趣"。
要替换所有出现,我们必须使用g选项。 :%s/Funny/Hilarious/g
这里g代表所有事件,但也可以使用数字1,2,......这也代表每行的第n个发生。
我们还可以指定一系列线条查找和替换将工作。 :5,20s/Funny/Hilarious/g
上面的命令将在第5到20行之间的"搞笑"中的所有出现的单词"有趣"。
要在替换之前要求确认,我们可以使用如图所示的命令。 :%s/Funny/Hilarious/gc
10.其他有用的选项
VI编辑器也有一些其他有用的选项,我们将逐一讨论。
:set nu
此选项将在每行前面的行号启用,如果我们希望按行信息行,则非常有用。
我们可以使用"set nonu"禁用它。
:set hlsearch
将在每当我们将在VI编辑器中进行搜索时突出显示匹配的单词,这对于更好的可见性非常有用。
我们可以使用"Set Nohlsearch"禁用它。
:set wrap
将在文件中包装文本,当我们有一些长线时非常有用,如果要关闭它,则可以使用"设置nowrap"。
:syntax on
此选项上的语法将打开颜色语法,如果我们有打开HTML,XML,PHP或者其他编程语言文件,则非常有用。
我们可以将其关闭"":syntax关闭"。
:set ignorecase
此选项将让我们提供不敏感的搜索。
设置此选项后,搜索将忽略这种情况。
:set smartcase
此选项将允许我们进行区分大小写的搜索。
设置此选项后,搜索也将考虑这种情况。
11.保存和退出
要在VI编辑器中保存和退出文件,请按冒号以下的ESC键(:)返回转义模式,然后使用以下命令:
q
退出文件q!
丢弃更改并退出文件。wq
保存并退出文件。w filename
将使用提供的新名称保存文件。w! fileName
强制保存文件(它将覆盖更改)。