本文概述
- 什么是vi
- 使用vi
- Linux vi示例
- 命令模式
- 插入方式
- 保存并退出
- 我们命令
- 从命令切换到插入模式
- 移动文件
- 跳线
- 删除
- 重复和撤消
- 剪切, 复制和粘贴的命令
- 剪切, 复制和粘贴块的命令
- 行的开始和结束
- 连接线
- 前进或后退
- 搜索字符串
- 全部替换
- 文字缓冲区
- 缩写
- 我们编辑索引
vi编辑器有两种模式:
- 命令模式:在命令模式下, 对文件进行操作。 vi编辑器以命令模式启动。在这里, 键入的单词将在vi编辑器中充当命令。要传递命令, 你需要处于命令模式。
- 插入模式:在插入模式下, 输入的文本将插入文件中。使用Esc键可将你从插入模式转到命令模式。
要退出插入模式, 请按Esc键, 你将进入命令模式。
如果不确定所处的模式, 请按两次Esc键, 你将进入命令模式。
使用vi vi编辑器工具是一种交互式工具, 可以在你编辑文件时在屏幕上显示文件中所做的更改。
在vi编辑器中, 随着光标在整个文件中移动, 你可以插入, 编辑或删除单词。
为每个函数都指定了命令, 例如要删除它的x或dd。
vi编辑器区分大小写。例如, p允许你粘贴在当前行之后, 而P允许你粘贴在当前行之前。
我们的语法:
vi <
fileName>
在终端中, 当你输入带有文件名的vi命令时, 终端将变得清晰, 并显示文件的内容。如果没有这样的文件, 那么将创建一个新文件, 并在完成后将使用上述文件名保存文件。
Linux vi示例 让我们通过一个例子来理解vi:
要启动vi, 请打开你的终端, 然后键入vi命令, 后跟文件名。如果文件在其他目录中, 则可以指定文件路径。如果不存在你的文件, 它将在给定位置创建一个具有指定名称的新文件。
例:
vi /home/sssit/Downloads/file.txt
文章图片
查看上面的快照, 我们正在创建一个新文件file.txt(因为该文件不存在), 并且已经为目录Downloads输入了完整路径。
命令模式 这是你在上面的命令后按Enter键时看到的内容。如果你将开始键入命令, 则不会出现任何命令。默认情况下, vi在命令模式下打开。
文章图片
查看上面的快照, 它是空白的, 因为它是一个新文件。要开始输入, 你必须进入插入模式。在终端窗口的末尾, 将显示目录名和文件名。
插入方式 要进入插入模式, 请按i。虽然, 还有其他命令将移至插入模式, 我们将在下一页中进行研究。
文章图片
看上面的快照, 按i后, 我们进入了插入模式。现在我们可以写任何东西。要移至下一行, 请按Enter。
键入完毕后, 按Esc键返回命令模式。
保存并退出 你可以从命令模式下保存并退出vi编辑器。在编写保存或退出命令之前, 必须按冒号(:)。冒号允许你向vi提供指导。
退出vi表:
Commands | Action |
---|---|
:wq | 保存并退出 |
:w | Save |
:q | Quit |
:w fname | 另存为fname |
ZZ | 保存并退出 |
:q! | 退出放弃所做的更改 |
:w! | 保存(并写入不可写文件) |
输入:wq保存并退出文件。
文章图片
查看上面的快照, 命令:wq将保存并退出vi编辑器。在命令模式下键入时, 它将自动出现在左下角。
如果要退出而不保存文件, 请使用:q。仅当你未对文件进行任何更改时, 此命令才有效。
文章图片
查看上面的快照, 此文件已修改, 因此在键入:q时, 它将在左下角显示此消息。
上面的文件可以用命令:!q保存。它放弃对文件所做的更改并保存。
文章图片
查看上面的快照, 我们输入了:!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θ | 删除直到一行开始 |
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)缩写
推荐阅读
- Linux vi移动文件
- Linux用户密码
- Linux用户简介
- Linux用户管理
- Linux su命令
- Linux用户组
- Linux less命令
- Linux more命令
- Linux Cat命令