Для редактирования файлов в командной строке используют редакторы Nano, Vim и Emacs. Первые два, обычно, установлены по умолчанию. Эти редакторы запускаются прямо в терминале, хотя Vim и Emacs имеют режим, в котором они запускаются как отдельные приложения.

Nano

Nano очень простенький текстовый редактор, похожий на "блокнот" в Windows, хотя по возможностям он богаче и даже способен подсвечивать содержимое файлов.

$ nano .bashrc
                

После запуска редактора внизу открывается панель с подсказками какие горячие клавиши доступны для использования. Символ ^ означает клавишу Ctrl. Например, для выхода из редактора нужно набрать Ctrl + x, а затем либо подтвердить сохранение изменений, либо отвергнуть, нажав y (yes) или n (no). В принципе, больше ничего интересного про nano сказать нельзя. Редактор и редактор. Подходит для несложных изменений в файлах, но совсем неудобен для работы над многофайловыми проектами, да ещё и с кодом.

Vim

Совсем другое дело Vim (Vi Improved или улучшенный vi) — свободный текстовый редактор, созданный на основе более старого vi (visual editor). Это редактор-комбайн, который, к тому же, имеет абсолютно непохожую ни на что другое модель работы.

$ vim .bashrc
                

Ключевое отличие (а их много!) вима от остальных редакторов — в наличии режимов. В обычных редакторах, после того как открылся файл, можно сразу приступать к редактированию. Вим, после открытия, работает в режиме команд (COMMAND): нажатие на любую клавишу воспринимается как сигнал к какому-то действию. Если вы не знаете команд, то лучше ничего не трогать, иначе на экране начнётся хаос. Обычное редактирование текста выполняется в режиме ввода (INSERT) и попасть в него можно нажав клавишу i. Для выхода в режим команд достаточно нажать Esc (или комбинацию Ctrl + [).

Вим по праву считается редактором с самым высоким порогом входа. С другой стороны, чем дальше вы будете продвигаться по стезе программиста, тем больше вы начнёте замечать, что опытные и многие известные программисты предпочитают разрабатывать целиком и полностью в виме. Посмотрев на вим без плагинов, сложно в это поверить, но он становится очень навороченным благодаря расширениям. Подробнее о том, почему так происходит и что особенного в виме, написано в гайде от Hexlet. Крайне рекомендую к прочтению.

Говорят, что самое сложное в виме — это выйти, поэтому подготовимся заранее. Убедитесь, что вы находитесь в командном режиме, на всякий случай нажмите Esc (или комбинацию Ctrl + [). Затем наберите :, эта команда переведёт вас в режим командной строки (еще один режим), затем введите q! и нажмите Enter. Так вы выйдите из вима без сохранения изменений. Если набрать :wq, то перед выходом сохранятся все изменения. Если вы хотите просто сохраниться без выхода, то наберите :w.

В Vim есть четыре основных режима работы: