RHCSA系列:使用Nano和Vim编辑文本文件 / 使用grep和正则表达式分析文本 – 第4部分

每个系统管理员都必须处理文本文件作为他日常责任的一部分。这包括编辑现有文件(最有可能是配置文件)或创建新文件。有人说,如果你想在Linux世界中引发一场圣战,你可以问系统管理员他们最喜欢的文本编辑器是什么,为什么。我们在本文中不打算这样做,但会介绍一些对于使用RHEL 7中两个最常用的文本编辑器之一会有帮助的技巧:nano(因其简单易用的特性,特别适合新用户使用)和vi/m(由于其多个功能将其转变为不仅仅是一个简单的编辑器)。我相信你可以找到更多使用一个或另一个的理由,或者可能是其他编辑器,比如emacspico。完全由你决定。

RHCSA: Editing Text Files with Nano and Vim – Part 4

使用Nano编辑器编辑文件

要启动nano,你可以在命令提示符处直接输入nano,可选择跟上文件名(在这种情况下,如果文件存在,它将在编辑模式下打开)。如果文件不存在,或者我们省略了文件名,nano也将以编辑模式打开,但会显示一个空屏幕供我们开始输入:

Nano Editor

正如你在前面的图像中所看到的那样,nano在屏幕底部显示了几个可通过指定的快捷方式进行访问的功能(^,也称为插入符,表示Ctrl键)。举几个例子:

  1. Ctrl + G:打开帮助菜单,显示完整功能列表和描述:
  2. Ctrl + X:退出当前文件。如果未保存更改,它们将被丢弃。
Nano Editor Help Menu
  1. Ctrl + O:保存对文件所做的更改。它将允许您使用相同名称或不同名称保存文件。然后按Enter确认。
Nano Editor Save Changes Mode
  1. Ctrl + X:退出当前文件。如果未保存更改,它们将被丢弃。
  2. Ctrl + R:选择要将其内容插入当前文件的文件,通过指定完整路径。
Nano: Insert File Content to Parent File

/etc/passwd的内容插入当前文件。

  1. Ctrl + K:剪切当前行。
  2. Ctrl + U:粘贴。
  3. Ctrl + C:取消当前操作并将您放在上一个屏幕。

为了方便浏览已打开的文件,nano提供以下功能:

  1. Ctrl + F和Ctrl + B向前或向后移动光标,而Ctrl + P和Ctrl + N分别向上或向下移动一行,就像箭头键一样。
  2. Ctrl + 空格和Alt + 空格向前和向后移动一个单词。

最后,

  1. Ctrl + _(下划线),然后输入X,Y将精确地带您到第X行,第Y列,如果您想将光标放在文档中的特定位置。
Navigate to Line Numbers in Nano

上面的示例将带您到当前文档中的第15行第14列

如果您能回忆起您早期的Linux日子,特别是如果您来自Windows,您可能会同意从nano开始是新用户的最佳选择。

使用Vim编辑器编辑文件

Vim是Linux中著名的文本编辑器vi的改进版本,在所有符合POSIX标准的*nix系统上都可以使用,比如RHEL 7。如果您有机会并且可以安装vim,请继续;如果不能,本文中提供的大多数(如果不是全部)提示也应该适用。

Vim的一个显著特点是它的不同操作模式:

  1. 命令模式允许您浏览文件并输入命令,这些命令是简短且区分大小写的一个或多个字母的组合。如果您需要重复其中一个一定次数,您可以在其前面加上一个数字(这个规则只有少数例外)。例如,yy(或Y,代表yank)复制整个当前行,而4yy(或4Y)复制整个当前行以及接下来的三行(总共4行)。
  2. 在ex模式中,您可以操作文件(包括保存当前文件和运行外部程序或命令)。要进入ex模式,我们必须从命令模式开始键入冒号(:)(或者换句话说,按下Esc + :),直接跟着您想要使用的ex模式命令的名称。
  3. 在插入模式中,通过键入字母i可以访问,我们只需输入文本。大多数按键会导致文本出现在屏幕上。
  4. 我们可以通过按下 Esc 键随时进入命令模式(无论我们正在工作的模式是什么)。

让我们看看如何使用前一节中我们为 nano 概述的相同操作,但现在使用 vim。不要忘记按 Enter 键确认 vim 命令!

要从命令行访问 vim 的完整手册,请在命令模式下输入 :help 然后按 Enter 键:

vim Edito Help Menu

上半部分呈现了内容索引列表,其中定义了专门关于 vim 的特定主题的部分。要导航到一个部分,将光标置于其上并按 Ctrl + ](右方括号)。请注意,底部显示当前文件。

1.要保存对文件所做的更改,请从命令模式运行以下任一命令,它就会奏效:

:wq!
:x!
ZZ (yes, double Z without the colon at the beginning)

2.要退出丢弃更改,请使用 :q!。此命令还允许您退出上述帮助菜单,并返回到命令模式中的当前文件。

3.剪切 N 行:在命令模式下键入 Ndd。

4.复制 M 行:在命令模式下键入 Myy。

5.粘贴先前剪切或复制的行:在命令模式下按 P 键。

6.将另一个文件的内容插入到当前文件中:

:r filename

例如,要插入/etc/fstab的内容,请执行:

Insert Content of File in vi Editor

7.要将命令的输出插入到当前文档中:

:r! command

例如,要在光标当前位置下一行插入日期和时间:

Insert Time an Date in vi Editor

在我撰写的另一篇文章中(LFCS系列之第2部分),我更详细地解释了vim中可用的键盘快捷键和功能。您可能希望参考该教程,以获取如何使用这款强大文本编辑器的更多示例。

Source:
https://www.tecmint.com/rhcsa-exam-how-to-use-nano-vi-editors/