每位系统管理员都必须处理文本文件作为其日常职责的一部分。这包括编辑现有文件(最有可能是配置文件)或创建新文件。据说,如果你想在Linux世界引发一场圣战,你可以问系统管理员他们最喜欢的文本编辑器是什么以及为什么。我们不打算在本文中这样做,但将介绍一些有助于使用RHEL 7中两个最广泛使用的文本编辑器之一的几个提示:nano(由于其简单易用性,特别适用于新用户),和vi/m(由于其多种功能,使其成为不仅仅是简单编辑器)。我相信你可以找到许多使用这两者之一的原因,或者可能是一些其他编辑器,例如emacs或pico。这完全取决于你。

使用Nano编辑器编辑文件
要启动nano,你可以在命令提示符下输入nano,可选地跟着一个filename(在这种情况下,如果文件存在,它将以编辑模式打开)。如果文件不存在,或者我们省略了文件名,nano也将以编辑模式打开,但会为我们呈现一个空白屏幕供我们开始输入:

正如您在前面的图片中所看到的,nano在屏幕底部显示了几个通过指示的快捷键可用的功能(^,也称为脱字符,表示Ctrl键)。简单介绍一下:
- Ctrl + G:顯示完整的功能列表和描述的幫助菜單:
- Ctrl + X:退出當前文件。如果未保存更改,則會被丟棄。

- Ctrl + R:通過指定完整路徑來選擇要將其內容插入到當前文件中的文件。

- Ctrl + O:保存對文件所做的更改。它將讓您使用相同的名稱或不同的名稱保存文件。然后按Enter確認。
- Ctrl + X:退出當前文件。如果未保存更改,則會被丟棄。

/etc/passwd的內容將被插入到當前文件中。
- Ctrl + K:剪切當前行。
- Ctrl + U:粘貼。
- Ctrl + C:取消當前操作並將您放在上一個屏幕上。
為了方便地瀏覽已打開的文件,nano提供了以下功能:
- Ctrl + F和Ctrl + B將光標向前或向後移動,而Ctrl + P和Ctrl + N分別將光標向上或向下移動一行,就像箭頭鍵一樣。
- Ctrl +空格和Alt +空格每次將光標向前或向後移動一個單詞。
最後,
- Ctrl + _(下劃線),然后輸入X,Y將精確地將您帶到第X行,第Y列,如果您想將光標放在文檔中的特定位置。

上面的示例將帶您到當前文件中的第15行,第14列。
如果您能回想起您早期的Linux日子,特別是如果您來自Windows,您可能會同意從nano開始是新用戶的最佳選擇。
使用Vim編輯器編輯文件
Vim是Linux中著名的文本編輯器vi的改進版本,它在所有符合POSIX標準的*nix系統上都可以使用,例如RHEL 7。如果您有機會並且可以安裝vim,請進行安裝;如果不能,本文提供的大多數(如果不是全部)技巧也應該適用。
vim的一個區別特徵是其操作模式:
- 命令模式允許您瀏覽文件並輸入命令,這些命令是簡潔且區分大小寫的一個或多個字母的組合。如果您需要重複其中的某個命令一定次數,您可以在其前面加上一個數字(這個規則只有幾個例外)。例如,yy(或Y,簡寫為yank)複製整個當前行,而4yy(或4Y)複製整個當前行以及接下來的三行(共4行)。
- 在ex模式中,您可以操作文件(包括保存當前文件和運行外部程序或命令)。要進入ex模式,我們必須從命令模式(或者說,按下Esc + :)開始,後面直接跟上您想要使用的ex模式命令的名稱。
- 在插入模式中,通過輸入字母i來訪問,我們只需輸入文本。大多數按鍵敲擊將導致文本顯示在屏幕上。
- 無論我們處於哪種模式,我們總是可以通過按下Esc鍵進入命令模式。
讓我們看看如何使用vim執行我們在前一節中概述的相同操作。不要忘記按下Enter鍵確認vim命令!
要從命令行訪問vim的完整手冊,請在命令模式下輸入:help,然後按下Enter:

上部分顯示了目錄列表,具有專門用於關於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
的内容,执行以下操作:

7. 要将命令的输出插入到当前文档中,执行以下操作:
:r! command
例如,要在光标当前位置下方的行中插入日期和时间:

在我为另一篇文章写的内容中(LFCS系列第2部分),我更详细地解释了vim中可用的键盘快捷键和功能。您可能希望参考该教程以获取如何使用这个强大的文本编辑器的更多示例。
Source:
https://www.tecmint.com/rhcsa-exam-how-to-use-nano-vi-editors/