vi 入门
许多新的 Linux 管理员发现 vi
编辑器复杂且令人生畏。它不像他们以前可能使用过的其他编辑器那样用户友好,但通过一点练习,vi
可以成为管理文件的强大工具。
本文并非要让您成为 vi
的高手。相反,它试图让您熟悉编辑器,以便您可以在需要时学习更高级的工具。
背景
vi
最初被称为“可视编辑器”,因为您可以一次在屏幕上看到整个文件。它最初是在一个没有功能键和鼠标的世界中开发的。管理员只有基本的键盘按键,因此必须充分利用他们所拥有的工具。每个键在 vi
中都有一个功能,但是您如何区分文本和命令呢?
模式
vi
有两种模式:命令模式和输入模式。
首次打开文件时,默认模式为命令模式。在此模式下,您的击键在编辑器中执行不同的操作。但是请注意;为了扩展可能的命令数量,vi
区分大小写,因此大写和小写字母几乎总是具有不同的行为。某些字符(最值得注意的是冒号 (:) 和正斜杠 (/))会激活应用程序内命令行以用于多字符命令。
输入模式使您可以在文件中输入文本。您可以使用一组命令模式字符激活此模式。屏幕底部的状态栏指示正在使用的输入模式。 <esc> 键退出输入模式,并将编辑器返回到命令模式。
移动
虽然您可以使用箭头键在现代版本的 vi
中移动文件,但编辑器的优势之一是您永远不需要将手从主键位上移开。这意味着减少了不必要的移动并提高了效率。
简单的移动键是 h、j、k 和 l。
命令 | 操作 | 助记符 |
---|---|---|
h | 光标向左 | 键位于键盘组的左侧 |
j | 光标向下 | “向下跳” |
k | 光标向上 | “向上踢” |
l | 光标向右 | (小写字母 l)键位于键盘组的右侧 |
许多管理员仅使用这四个键来导航他们的文件。在您熟悉基本移动后,下一步是学习如何更有效地移动。
命令 | 操作 |
---|---|
0 | (零)转到当前行的开头 |
$ | 转到当前行的末尾 |
w | 前进一个单词 |
b | 后退一个单词 |
G | 转到文件的最后一行 |
管理文本
多个命令启动输入模式,具体取决于您在文件中放置文本的位置和方式。
命令 | 操作 |
---|---|
i | 在当前光标位置插入文本 |
a | 在当前光标位置之后追加文本 |
I | (大写 I)在当前行的开头插入文本 |
A | 在当前行的末尾追加文本 |
r | 替换当前光标位置的字母 |
R | 在管理员键入时替换单个字符 |
o | (小写字母 o)打开下方一行以添加文本 |
O | (大写字母 O)打开上方一行以添加文本 |
要操作文本,主要命令是 x(字符删除或“删除线”)、d(删除)、y(复制或“复制”)和 p(粘贴)。 y 和 d 命令需要其他字符来指示要复制或删除的文本量。 前置数字会重复该数字的操作次数。
命令 | 操作 |
---|---|
x | 删除光标位置后的字符 |
dw | 删除整个单词 |
dd | 删除整行 |
yw | 复制整个单词 |
yy | 复制整行 |
y$ | 复制到当前行的末尾 |
p | 将复制或删除的文本粘贴到当前光标位置之后 |
P | 将复制或删除的文本粘贴到当前光标位置之前 |
4dw | 删除接下来的四个单词 |
u | 撤销上一个操作 |
U | 撤销自上次进入当前行以来的所有更改 |
. | 重复上一个操作 |
关闭文件
与文本编辑器一样,vi
允许您通过多种方式退出文件,无论是否保存。某些文件需要 : 字符,该字符允许您在屏幕上看到您键入的命令。
命令 | 操作 |
---|---|
:q | 退出文件(如果需要保存会提示) |
:q! | 强制退出文件(放弃未保存的更改) |
:w | 写入(保存)文件 |
:w <filename> | 写入文件并重命名为 <filename> |
:w! | 强制写入(覆盖您拥有的只读文件) |
:wq | 写入文件,然后退出 |
zz | 写入文件,然后退出(也称为“将文件放到床上”) |