个性化阅读
专注于IT技术分析

Linux带命令的Vi编辑器

本文概述


什么是vi

vi编辑器被细化为可视编辑器。它安装在每个Unix系统中。换句话说, 它在所有Linux发行版中都可用。它是用户友好的, 并且可以在不同发行版和平台上使用。这是一个非常强大的应用程序。 vi编辑器的改进版本是vim。

vi编辑器有两种模式:

  • 命令模式:在命令模式下, 对文件进行操作。 vi编辑器以命令模式启动。在这里, 键入的单词将在vi编辑器中充当命令。要传递命令, 你需要处于命令模式。
  • 插入模式:在插入模式下, 输入的文本将插入文件中。使用Esc键可将你从插入模式转到命令模式。

默认情况下, vi编辑器以命令模式启动。要输入文本, 你必须处于插入模式, 只需键入” i”, 便会处于插入模式。尽管在输入i之后, 屏幕上将不会显示任何内容, 但是你将进入插入模式。现在你可以输入任何内容。

要退出插入模式, 请按Esc键, 你将进入命令模式。

如果不确定所处的模式, 请按两次Esc键, 你将进入命令模式。


使用vi

vi编辑器工具是一种交互式工具, 可以在你编辑文件时在屏幕上显示文件中所做的更改。

在vi编辑器中, 随着光标在整个文件中移动, 你可以插入, 编辑或删除单词。

为每个函数都指定了命令, 例如要删除它的x或dd。

vi编辑器区分大小写。例如, p允许你粘贴在当前行之后, 而P允许你粘贴在当前行之前。

我们的语法:

vi <fileName>

在终端中, 当你输入带有文件名的vi命令时, 终端将变得清晰, 并显示文件的内容。如果没有这样的文件, 那么将创建一个新文件, 并在完成后将使用上述文件名保存文件。


Linux vi示例

让我们通过一个例子来理解vi:

要启动vi, 请打开你的终端, 然后键入vi命令, 后跟文件名。如果文件在其他目录中, 则可以指定文件路径。如果不存在你的文件, 它将在给定位置创建一个具有指定名称的新文件。

例:

vi /home/sssit/Downloads/file.txt
Linux Vi编辑器1

查看上面的快照, 我们正在创建一个新文件file.txt(因为该文件不存在), 并且已经为目录Downloads输入了完整路径。

命令模式

这是你在上面的命令后按Enter键时看到的内容。如果你将开始键入命令, 则不会出现任何命令。默认情况下, vi在命令模式下打开。

Linux Vi编辑器1

查看上面的快照, 它是空白的, 因为它是一个新文件。要开始输入, 你必须进入插入模式。在终端窗口的末尾, 将显示目录名和文件名。

插入方式

要进入插入模式, 请按i。虽然, 还有其他命令将移至插入模式, 我们将在下一页中进行研究。

Linux Vi编辑器3

看上面的快照, 按i后, 我们进入了插入模式。现在我们可以写任何东西。要移至下一行, 请按Enter。

键入完毕后, 按Esc键返回命令模式。


保存并退出

你可以从命令模式下保存并退出vi编辑器。在编写保存或退出命令之前, 必须按冒号(:)。冒号允许你向vi提供指导。

退出vi表:

Commands Action
:wq 保存并退出
:w Save
:q Quit
:w fname 另存为fname
ZZ 保存并退出
:q! 退出放弃所做的更改
:w! 保存(并写入不可写文件)

要从vi退出, 请首先确保你处于命令模式。现在, 键入:wq并按Enter。它将保存并退出vi。

输入:wq保存并退出文件。

Linux Vi编辑器4

查看上面的快照, 命令:wq将保存并退出vi编辑器。在命令模式下键入时, 它将自动出现在左下角。

如果要退出而不保存文件, 请使用:q。仅当你未对文件进行任何更改时, 此命令才有效。

Linux Vi编辑器5

查看上面的快照, 此文件已修改, 因此在键入:q时, 它将在左下角显示此消息。

上面的文件可以用命令:!q保存。它放弃对文件所做的更改并保存。

Linux Vi编辑器6

查看上面的快照, 我们输入了:!q, 它将通过放弃所做的更改来保存文件。


我们命令

Linux vi编辑器不同于其他编辑器。你必须使用不同的键才能使用不同的功能。虽然, 使用vi编辑器非常简单有趣。

vi编辑器命令区分大小写。

看一下下表中的vi命令。

从命令切换到插入模式

Command Action
i 在当前字符之前开始输入
I 在当前行的开头开始输入
a 在当前字符之后开始输入
A 在当前行的末尾开始输入
o 在当前行之后开始在新行中键入
O 开始在当前行之前在新行上键入

移动文件

Commands Action
j 向下移动
k 向上移动
h 向左移动
l 向右移动

跳线

Commands Action
G 会将你定向到文件的最后一行
会将你定向到文件中的最后一个位置

删除

Commands Action
x 删除当前字符
X 删除光标前的字符
r 替换当前字符
xp 切换两个字符
dd 删除当前行
D 从当前字符删除当前行到行尾
dG 从当前行删除到文件末尾

重复和撤消

Commands Action
u 撤消上一条命令
. 重复最后一条命令

剪切, 复制和粘贴的命令

Commands Action
dd 删除一行
yy (yan)复制一条线
p 在当前行之后粘贴
P 在当前行之前粘贴

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

Commands Action
<n>dd 删除指定的n行
<n>yy 复制指定的n行

行的开始和结束

Commands Action
θ 在当前行的开头
^ 在当前行的开头
$ 在当前行的末尾
删除直到一行开始
d$ 删除到行尾

连接线

Commands Action
J 连接两行
yyp 重复当前行
ddp 交换两行

前进或后退

Commands Action
w 向前移动一个字
b 向后移动一个词
<n>w 向前移动指定数量的单词
dw 删除一个字
yw 复制一个字
<n>dw 删除指定字数

搜索字符串

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

全部替换

句法:

:<startLine, endLine> s/<oldString>/<newString>/g

例:

Commands Action
:1, $ s /可读/已更改/ 从第一行到最后一行向前替换为向后
:3, 6 s /字母/ neww / g 从第三行到第九行向前替换为后退

文字缓冲区

Commands Action
“add 删除当前行并将文本放入缓冲区a
“ap 从缓冲区a粘贴行

缩写

句法:

:ab <abbreviation> <abbreviatedWord>

例:

Commands Action
:ab au缩写和缩写 缩写au为”缩写和不缩写”
:一只鸟 An-缩写au

我们编辑索引


你编辑

  • 你编辑
  • 1)开关
  • 2)移动
  • 3)跳
  • 4)删除
  • 5)撤消并重复
  • 6)剪切, 复制, 粘贴
  • 7)剪切, 复制, 粘贴块
  • 8)开始和结束
  • 9)加入
  • 10)字
  • 11)搜索
  • 12)全部替换
  • 13)文字缓冲区
  • 14)缩写

赞(0)
未经允许不得转载:srcmini » Linux带命令的Vi编辑器

评论 抢沙发

评论前必须登录!