Linux vi命令

时间:2020-02-23 14:37:34  来源:igfitidea点击:

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强制保存文件(它将覆盖更改)。