Существует несколько способов редактирования файла. Одними из наиболее распространенных текстовых редакторов для этого являются Vi и Vim. Реже встречается редактор Nano.
Сначала мы рассмотрим редактор Nano, так как его немного легче понять. Мы можем создать новый файл с помощью редактора Nano, указав имя файла в качестве первого параметра. В этом случае мы создаем новый файл с именем data.txt.
┌──(k1ber㉿kali)-[~]
└─$ nano data.txt
После выполнения этой команды, мы попадём в редактор Nano:

Внизу можно увидеть две строчки с краткими описаниями. Знак ^ обозначает клавишу [CTRL]. Например, если мы нажмём [CTRL + W], в нижней части редактора появится строка Search: где мы можем ввести слово или слова, которые ищем. Если мы сейчас найдем слово “текст” и нажмем [ENTER], курсор переместится к первому подходящему слову.

Что бы сохранить файл, необходимо нажать [CTRL + S] и выйти из редактора с помощью [CTRL + X] .
Чтобы просмотреть содержимое файла, мы можем использовать команду cat.
┌──(k1ber㉿kali)-[~]
└─$ cat data.txt
Здесь можно вводить любой текст
Vim - это редактор с открытым исходным кодом для всех видов текста ASCII, как и Nano. Является улучшенным клоном предыдущего Vi. Это чрезвычайно мощный редактор, который фокусируется на главном, а именно на редактировании текста.
Запускается так же, как и Nano.

В отличие от nano, vim является модальным редактором, который может различать ввод текста и команд. vim предлагает в общей сложности шесть основных режимов, которые облегчают нашу работу и делают этот редактор настолько мощным:
| Режим | Описание |
|---|---|
Normal |
В обычном режиме все входные данные рассматриваются как команды редактора. Таким образом, нет вставки введенных символов в буфер редактора, как в случае с большинством других редакторов. После запуска редактора мы находимся в обычном режиме. |
Insert |
За некоторыми исключениями, все введенные символы вставляются в буфер. |
Visual |
Визуальный режим используется для обозначения смежной части текста, которая будет визуально выделена. Позиционируя курсор, изменяем выбранную область. Затем выделенную область можно редактировать различными способами, такими как удаление, копирование или замена. |
Command |
Этот режим позволяет нам вводить однострочные команды в нижней части редактора. Его можно использовать, например, для сортировки, замены текстовых разделов или их удаления. |
Replace |
В режиме замены новый введенный текст будет перезаписывать существующие текстовые символы. Если в текущем положении курсора больше нет старых символов будет добавлен новый введенный текст. |
Для переключения в режим редактирования используются такие команды: