Linux教程
Linux目录
Linux命令
Linux用户
Linux文件
Linux进程
Linux查询
Linux I/O
Linux正则
Linux安全
Linux shell
Linux网络
Linux VI
Linux 系统命令
Linux 其他

Linux Vi编辑器

带有命令的Vi编辑器


什么是vi

vi编辑器详细说明为 vi 普通编辑器。它安装在每个Unix系统中。换句话说,它在所有Linux发行版中都可用。它是用户友好的,并且可以在不同发行版和平台上使用。这是一个非常强大的应用程序。 vi编辑器的改进版本是 vim 。
vi编辑器具有两种模式:
命令模式: : 在命令模式下,对文件执行操作。 vi编辑器以命令模式启动。在这里,键入的单词将在vi编辑器中充当命令。要传递命令,您需要处于命令模式。 插入模式: 在插入模式下,输入的文本将插入到文件中。 Esc 键将带您从插入模式进入命令模式。
默认情况下,vi编辑器以命令模式启动。要输入文字,您必须处于插入模式,只需键入'i',您就会处于插入模式。尽管在输入我之后,屏幕上将不会显示任何内容,但您将进入插入模式。现在您可以键入任何内容。
要退出插入模式,请按 Esc 键,您将被定向到命令模式。
如果不确定您处于哪种模式,请按两次Esc键,您将进入命令模式。

使用vi

vi编辑器工具是一种交互式工具,可以在您编辑文件时在屏幕上显示文件中所做的更改。
在vi编辑器中,当光标在文件中移动时,您可以插入,编辑或删除单词。
为每个函数都指定了命令,如删除x或dd。
vi编辑器区分大小写。例如, p 允许您粘贴在当前行之后,而 P 允许您粘贴在当前行之前。
vi语法:
vi <fileName>
在终端中,当您输入带有文件名的vi命令时,终端将变得清晰,并且将显示文件的内容。如果没有这样的文件,那么将创建一个新文件,并在完成后将使用提到的文件名保存该文件。

Linux vi示例

让我们通过一个示例来理解vi:
要启动vi,请打开终端并输入vi命令,后跟文件名。如果文件在其他目录中,则可以指定文件路径。而且,如果万一您的文件不存在,它将在给定位置创建一个具有指定名称的新文件。
示例:
vi /home/sssit/Downloads/file.txt
Linux Vi Editor1
看上面的快照,我们正在创建一个新文件 file.txt (因为此文件不存在),并已输入目录下载的完整路径。

命令模式

在上面的命令后按Enter键时,您将看到以下内容。如果您将开始键入命令,则不会出现任何命令状态。默认情况下,vi在命令模式下打开。
Linux Vi Editor1
看上面的快照,它为空,因为它是一个新文件。要开始输入,您必须进入插入模式。在终端窗口的末尾,将显示目录名和文件名。

插入模式

要移至插入模式,请按 i。尽管还有其他命令可以移至插入模式,我们将在下一页中进行研究。
 Linux Vi Editor3
查看上面的快照,按 i 后,我们进入了插入模式。现在我们可以写任何东西了。要移至下一行,请按Enter。
完成键入后,请按 esc 键返回命令模式。

要保存并退出

您可以从命令模式下保存并退出vi编辑器。在编写保存或退出命令之前,必须按冒号(: )。冒号允许您向vi发出指令。
退出vi表:
命令 动作
:wq 保存并退出
:w 保存
:q 退出
:w fname 另存为fname
ZZ 保存并退出
:q! 放弃放弃所做的更改
:w! 保存(并写入不可写文件)
要退出vi,首先请确保您处于命令模式。现在,键入: wq并按Enter。它将保存并退出vi。
键入: wq 保存并退出文件。
Linux Vi Editor4
看上面的快照,命令: wq将保存并退出vi编辑器。在命令模式下键入时,它将自动出现在左下角。
如果要退出而不保存文件,请使用: q。仅当您未对文件进行任何更改时才起作用。
Linux Vi Editor5
查看上面的快照,此文件被修改,因此在键入: q 时,它会在左下角显示此消息。
可以使用命令保存以上文件: !q。。它丢弃文件中所做的更改并保存。
Linux Vi Editor6
看看上面的快照,我们输入了: !q ,它将通过放弃所做的更改来保存我们的文件。

Vi命令

Linux vi编辑器不同于其他编辑器。您必须使用不同的键才能使用不同的功能。虽然,使用vi编辑器很容易而且很有趣。
vi编辑器命令区分大小写。
看看下表中的vi命令。

从命令中切换插入模式:

命令 动作
i 开始在当前字符之前输入
I 从当前行的开头开始输入
a 在当前字符之后开始输入
A 在当前行的末尾开始输入
o 在当前行之后开始在新行上输入
O 在当前行之前开始在新行上键入

要在文件中移动:

命令 动作
j 下移
k 要上移
h 向左移动
l 向右移动

要跳线:

命令 动作
G 将您定向到文件的最后一行
`` 将您定向到文件中的最后一个位置

要删除:

命令 动作
x 删除当前字符
X 删除光标之前的字符
r 替换当前字符
xp 切换两个字符
dd 删除当前行
D 将当前行从当前字符删除到行尾
dG 从当前行删除到文件末尾

要重复和撤消操作:

命令 动作
u 撤消上一条命令
. 重复最后一个命令

剪切,复制和粘贴的命令:

命令 动作
dd 删除一行
yy (yank yank)复制一行
p 在当前行之后粘贴
P 在当前行之前粘贴

剪切,复制和粘贴块的命令:

命令 动作
dd 删除指定的n行数
yy 复制指定的n行数

行首和行尾:

命令 动作
θ 在当前行的开头
^ 在当前行的开头
$ 在当前行末尾
删除直到一行开始
d $ 删除到一行的结尾

加入行:

命令 动作
J 加入两行
yyp 重复当前行
ddp 交换两行

向前或向后移动:

命令 动作
w 向前移动一个单词
b 后退一个单词
<n>w 将指定的单词数向前移动
dw 删除一个字
yw 复制一个词
<n>dw 删除指定的单词数

搜索字符串:

命令 动作
/string 向前搜索给定的字符串
?string 向后搜索给定的字符串
/^ string 在行首处向前搜索字符串
/string $ 在行尾向前搜索字符串
n 转到下一个出现的搜索字符串
/\<he\> 搜索他(不是那里,在这里,等等)这个词
/pl[abc]ce 搜索地点,地点和地点

替换全部

语法:
:<startLine,endLine> s/<oldString>/<newString>/g
示例:
命令 动作
:1,$ s/readable/changed/ 从第一行到最后一行向前并向后替换
:3,6 s/letters/neww/g 从第三行向后替换为第九行

文本缓冲区:

命令 动作
"add 删除当前行并将文本放入缓冲区a
"ap 从缓冲区a中粘贴行

缩写

语法:
:ab <abbreviation> <abbreviatedWord>
示例:
命令 动作
:ab au的缩写 将au缩写为"缩写和不缩写"
:una au
Un-缩写au

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4