Каждому системному администратору приходится иметь дело с текстовыми файлами в рамках его повседневных обязанностей. Это включает в себя редактирование существующих файлов (скорее всего, конфигурационных файлов) или создание новых. Говорят, что если вы хотите начать святую войну в мире Linux, вы можете спросить у системных администраторов, какой их любимый текстовый редактор и почему. Мы не собираемся делать это в этой статье, но представим несколько советов, которые будут полезны при использовании двух наиболее распространенных текстовых редакторов в RHEL 7: nano (из-за его простоты и удобства использования, особенно для новых пользователей) и vi/m (из-за его нескольких функций, которые превращают его в нечто большее, чем просто редактор). Я уверен, что вы можете найти много других причин использовать тот или иной, или, возможно, другой редактор, такой как emacs или pico. Это полностью зависит от вас.

Редактирование файлов с помощью редактора Nano
Для запуска nano вы можете просто ввести nano в командной строке, при необходимости указав имя_файла (в этом случае, если файл существует, он будет открыт в режиме редактирования). Если файла не существует или если мы опустим имя файла, nano также будет открыт в режиме редактирования, но предложит нам пустой экран для начала набора текста:

Как видно на предыдущем изображении, nano отображает внизу экрана несколько функций, доступных через указанные сочетания клавиш (^, также известный как символ каретки, указывает на клавишу Ctrl). Несколько из них:
- Ctrl + G: вызывает меню справки с полным списком функций и описаний: Ctrl + X: выходит из текущего файла. Если изменения не были сохранены, они отменяются.
- Ctrl + R: позволяет выбрать файл для вставки его содержимого в текущий файл, указав полный путь.

- Ctrl + O: сохраняет внесенные изменения в файл. Это позволит вам сохранить файл с тем же именем или другим. Затем нажмите Enter для подтверждения.

- Ctrl + X: выходит из текущего файла. Если изменения не были сохранены, они отменяются.
- Ctrl + R: позволяет выбрать файл для вставки его содержимого в текущий файл, указав полный путь.

вставит содержимое /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 – это улучшенная версия vi, известного текстового редактора в Linux, который доступен на всех совместимых с POSIX *nix системах, таких как RHEL 7. Если у вас есть возможность установить vim, вперед; если нет, большинство (если не все) советов, данного в этой статье, также должны работать.
Одной из отличительных особенностей vim являются различные режимы, в которых он работает:
- Режим команд позволяет вам просматривать файл и вводить команды, которые являются краткими и чувствительными к регистру комбинациями одной или нескольких букв. Если вам нужно повторить одну из них определенное количество раз, вы можете предварить ее числом (есть только несколько исключений из этого правила). Например, yy (или Y, сокращение от yank) копирует всю текущую строку, тогда как 4yy (или 4Y) копирует всю текущую строку вместе с следующими тремя строками (всего 4 строки).
- В режиме ex вы можете манипулировать файлами (включая сохранение текущего файла и запуск внешних программ или команд). Чтобы войти в режим ex, мы должны набрать двоеточие (:) начиная с режима команд (или другими словами, Esc + :), непосредственно за которым следует имя команды режима ex, которую вы хотите использовать.
- В режиме вставки, который активируется нажатием клавиши i, мы просто вводим текст. Большинство нажатий клавиш приводят к появлению текста на экране.
- Мы всегда можем войти в режим команд, нажав клавишу Esc.
Давайте посмотрим, как мы можем выполнить те же операции, которые мы описали для nano в предыдущем разделе, но теперь с помощью 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
Например, чтобы вставить дату и время на строку ниже текущей позиции курсора:

В другой статье, которую я написал (Часть 2 серии LFCS), я более подробно объяснил горячие клавиши и функции, доступные в vim. Вы можете обратиться к этому учебнику для дополнительных примеров использования этого мощного текстового редактора.
Source:
https://www.tecmint.com/rhcsa-exam-how-to-use-nano-vi-editors/