使用VI,Nano或Emacs在Linux中修改文件
1. 简介
在本教程中,我们将了解一些可用于在 Linux 中修改或创建新文件的编辑器。
Linux 发行版中有许多可用的命令行编辑器,其中**使用最广泛的编辑器是 Vim、Nano 和 Emacs。**因此,让我们一一回顾。
2. 为什么
最常用的命令行文本编辑器是Vim 编辑器。大多数 Linux 发行版都预装了 Vim。在一些没有预装 Vim 的情况下,我们可以使用以下命令来安装它:
sudo apt-get install vim # For Debian based systems / Ubuntu
sudo yum install vim # For CentOS / Fedora
要在 Linux 中使用 Vim 编辑器修改文件,我们可以使用以下命令:
vi testFile
这将打开一个现有文件(如果有的话),或者如果没有同名的现有文件,它将创建一个新文件。一旦我们按下Enter,我们的屏幕将类似于:
在这里,~(波浪号)表示这是一个空行。现在,让我们看看 Vim 是如何工作的。
我们可以在各种不同的模式下使用 Vim 编辑器**:command 和 insert 是最常用的模式。命令模式让我们运行管理任务,例如保存文件或退出,而插入模式让我们将实际文本插入到文件中。**
默认情况下,Vim 将以命令模式启动。我们可以通过键入“i”进入插入模式,并可以通过按“Esc”返回命令模式。
请记住,Vim 编辑器命令区分大小写。我们需要格外小心命令中一些字符的大写。
现在让我们回顾一些关于如何使用 Vim 的基本命令。
2.1. 文件导航命令
我们可以像在 GUI 编辑器中那样使用键盘箭头键在文本中移动。除此之外,Vim 还提供了特殊的键盘键来在文件中移动:
命令 | 描述 |
---|---|
k | 将光标移动到当前行的上一行 |
j | 将光标移动到当前行的下一行 |
h | 将光标向左移动一个字符位置 |
l | 将光标右移一个字符位置 |
2.2. 文件编辑命令
一旦我们知道如何导航,我们就会想知道哪些命令将编辑文件的内容:
命令 | 描述 |
---|---|
i | 从当前光标位置添加内容 |
I | 在当前行的开头添加当前光标位置的内容 |
o | 在当前行之后添加内容作为新行 |
x | 删除当前光标位置的字符 |
D | 删除从当前位置到当前行末的文本 |
dd | 删除整个当前行 |
2.3. 在文件中剪切、复制和粘贴
最后,我们也可以做一些复制/粘贴操作:
命令 | 描述 |
---|---|
yy | 复制当前行 |
v | 选择使用箭头或 Vim 光标移动键进行复制 |
y | 复制标记的文字 |
d | 剪切标记的文字 |
p | 将复制的文本粘贴到光标位置之后 |
P | 将复制的文本粘贴到光标位置之前 |
2.4. 文件管理任务命令
完成文件编辑后,我们需要记住保存我们的工作:
命令 | 描述 |
---|---|
:w | 保存文件内容 |
:q | 辞职。如果有未保存的修改,Vim 编辑器会提示保存修改 |
:wq 或 ZZ | 保存文件然后退出 |
:w 文件名 | 使用新名称“fileName”保存文件。这类似于 GUI 文本编辑器中的“另存为”功能 |
3. Nano
Nano 可能是我们列表中最容易使用的,因为它的界面可与基于 GUI 的文本编辑器相媲美。大多数 Linux 发行版都预装了 Nano。在某些未预装 Nano 的情况下,我们可以根据其包管理工具使用以下命令:
sudo apt-get install nano # For Debian based systems / Ubuntu
sudo yum install nano # For CentOS / Fedora
要在 Linux 中使用 Nano 编辑器修改文件,我们需要使用以下命令:
nano testFile
如果我们没有任何具有此名称的现有文件,这就是我们屏幕的外观。如果我们打开一个现有文件,该文件的内容将显示在屏幕上:
顶部是文件的 Nano 版本号和名称。底部是一个快捷栏,其中包含最常用的命令。这里的*^符号表示 Ctrl 键,因此^Y*表示 Ctrl+Y。
让我们在使用 Nano 时记住一些事情:
- Nano 没有自带模式,所以我们可以直接在编辑器中开始输入
- Nano 命令不区分大小写,因此 Ctrl+o 与 Ctrl+O 等同
让我们回顾一些关于如何使用 Nano 编辑器的基本命令。
3.1. 文件导航命令
我们可以使用箭头键遍历文件。Nano 编辑器还为它提供了特殊的快捷键:
命令 | 描述 |
---|---|
Ctrl+P | 将光标移动到当前行的上一行 |
Ctrl+N | 将光标移动到当前行的下一行 |
Ctrl+B | 将光标向左移动一个字符位置 |
Ctrl+F | 将光标右移一个字符位置 |
Ctrl+空格 | 当前行向前移动一个单词 |
3.2. 在文件中剪切、复制和粘贴
我们还可以执行复制/粘贴操作:
命令 | 描述 |
---|---|
Ctrl+6 | 设置标记并遍历要剪切/复制的文件 |
Alt+6 | 复制标记的文字 |
Ctrl+k | 剪切标记的文本 |
Ctrl+u | 粘贴标记的文本 |
3.3. 文件管理任务命令
完成所有编辑后,我们要保存或放弃我们的更改:
命令 | 描述 |
---|---|
Ctrl+O | 保存文件内容。Nano 将提示输入文件名 |
Ctrl+X | 相当 |
4.Emacs
Emacs 是基于 Linux 和 UNIX 的系统中可用的最古老和最通用的文本编辑器之一。emacs 具有像 Vim 一样的特性和优势。同时,它具有类似于 Nano 的易于记忆的命令。要安装 emacs,我们可以根据我们的 Linux 发行版使用以下命令:
sudo apt-get install emacs # For Debian based systems / Ubuntu
sudo yum install emacs # For CentOS / Fedora
要在 Linux 中使用 emacs 编辑器修改文件,我们可以这样做:
emacs tempFile
顶部是编辑部分,也称为主缓冲区。底部是状态栏,显示文件名和当前光标位置等详细信息。
最后一行被称为 emacs 用来与用户交互的迷你缓冲区。emacs 中的大多数命令以Ctrl键或 Meta 键开始(这可以是 Alt或 Option , 具体取决于操作系统)。
** Ctrl简称为“C”,而 Meta 简称为“M”。Esc键以缩写形式表示为“E”。**
请记住,Emacs 没有模式。我们可以直接开始在编辑器中输入。
让我们回顾一些关于如何使用 Emacs 的基本命令。
4.1. 文件导航命令
我们可以使用键盘箭头键浏览文件或使用快捷方式:
命令 | 描述 |
---|---|
C-p | 将光标移动到当前行的上一行 |
C-n | 将光标移动到当前行的下一行 |
C-b | 将光标向左移动一个字符位置 |
C-f | 将光标右移一个字符位置 |
M-f | 当前行向前移动一个单词 |
M-b | 当前行向后移动一个单词 |
C-a | 移动到行首 |
C-e | 移动到行尾 |
4.2. 在文件中剪切、复制和粘贴
我们也可以做一些复制/粘贴操作:
命令 | 描述 |
---|---|
C-空格 | 设置标记并遍历要剪切/复制的文件 |
E-w | 复制标记的文本 |
C-w | 剪切标记的文本 |
C-y | 粘贴标记的文本 |
4.3. 文件管理任务命令
最后,让我们保存我们的工作:
命令 | 描述 |
---|---|
C-x C-s | 将内容保存到文件 |
C-x C-c | 退出 emacs 编辑器而不保存我们所做的更改 |