Unix/Linux - vi 编辑器教程

欢迎,有抱负的程序设计师们!今天,我们将深入 vi 编辑器的世界,这是一个自 Unix 诞生以来就存在的强大工具。如果你之前从未接触过命令行,不用担心——我们将从最基础的内容开始,逐步学习。在本教程结束时,你将能够像专业人士一样编辑文件!

Unix / Linux - The vi Editor

启动 vi 编辑器

让我们从基础开始我们的旅程。要打开 vi 编辑器,你只需要在终端中输入 vi 然后跟上文件名。例如:

vi myfile.txt

如果文件不存在,vi 会为你创建它。这难道不贴心吗?就像 vi 在说:“别担心,我支持你!”

操作模式

现在,事情变得有趣了。Vi 有两种主要模式:

  1. 命令模式
  2. 插入模式

将命令模式视为你的“大本营”。这是你开始的地方,也是你执行复制、粘贴和导航等操作时返回的地方。另一方面,插入模式是写作发生的地方。

要从命令模式切换到插入模式,按 i。要返回命令模式,按 Esc 键。记住这个——这就像是 vi 用户的秘密握手!

退出 vi

好吧,你已经打开了 vi,但是你怎么退出?别慌!下面是一个命令表格来帮助你:

命令 操作
:q! 不保存退出
:wq 保存并退出
:x 保存并退出(与 :wq 相同)

只需在命令模式下输入这些命令,你就可以继续了!

在文件内移动

在 vi 中导航可能一开始看起来有点棘手,但一旦你掌握了它,你将能够比说“光标键”还要快地在文件中穿梭。以下是一些基本移动命令:

h - 向左移动
j - 向下移动
k - 向上移动
l - 向右移动

我喜欢记住这些命令,比如“h”代表左,因为它在左边,而“l”代表右,因为这很符合逻辑!

控制命令

Vi 有大量的控制命令。以下是一些入门级的命令:

Ctrl + f : 向前翻页
Ctrl + b : 向后翻页
G : 跳转到最后一行
1G : 跳转到第一行

编辑文件

现在我们来到了有趣的部分!要开始编辑,记得切换到插入模式,按 i。然后,随意输入。完成后,按 Esc 返回命令模式。

删除字符

在命令模式下,你可以使用以下命令删除字符:

x : 删除光标下的字符
dw : 删除单词
dd : 删除整行

我曾经不小心用 dd 删除了整个段落。只能说,我很快学会了撤销命令(u)的重要性!

更改命令

想更改文本?Vi 可以帮助你:

cw : 更改单词
cc : 更改整行
C : 从光标更改为行尾

复制和粘贴命令

一旦你知道了命令,在 vi 中复制和粘贴就很简单了:

yy : 抓取(复制)一行
p : 在光标后粘贴
P : 在光标前粘贴

把 "yy" 想成 "yoink yoink" ——你就把那一行从那里拉出来了!

高级命令

准备好做一些高级动作了吗?试试这些:

. : 重复最后一个命令
~ : 更改字符大小写

字词和字符搜索

需要找到什么?使用以下命令:

/pattern : 向前搜索模式
?pattern : 向后搜索模式
n : 在相同方向重复搜索
N : 在相反方向重复搜索

设置命令

Vi 允许你设置各种选项。以下是一些有用的选项:

:set nu : 显示行号
:set nonu : 隐藏行号
:set ic : 在搜索时忽略大小写

运行命令

你可以运行 shell 命令而无需离开 vi。这酷不酷?

:!command : 运行一个 shell 命令

例如,:!ls 将列出当前目录中的文件。

替换文本

需要快速进行大量更改?试试这些:

:s/old/new : 将当前行的第一个 'old' 替换为 'new'
:s/old/new/g : 将当前行的所有 'old' 替换为 'new'
:%s/old/new/g : 将整个文件中的所有 'old' 替换为 'new'

需要注意的重要事项

  1. Vi 是区分大小写的。'A' 和 'a' 是不同的命令。
  2. 总是知道你当前处于哪种模式。如果事情没有按预期工作,你可能处于错误模式。
  3. 练习,练习,再练习!Vi 有一个学习曲线,但一旦你掌握了它,你将能够以思维的速度进行编辑。

记住,熟练使用 vi 就像学习骑自行车。一开始可能看起来有点不稳,但通过练习,你将能够轻松地在文本文件中穿梭。如果一开始感觉不舒服,不要气馁——我们都经历过!

所以,打开你的终端,启动 vi,开始探索。在你意识到之前,你将能够像专业人士一样编辑,用你的命令行技能给朋友们留下深刻印象。快乐编码!

Credits: Image by storyset