Для редактирования файлов в командной строке используют редакторы 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 есть четыре основных режима работы:
- Командный режим (обычный режим) — это режим по умолчанию. Перемещение по файлу, быстрое (при помощи команд, комбинаций клавиш) редактирование, удаление, поиск текста.
- Режим вставки (режим ввод) — ввод текста с клавиатуры. То, как вы привыкли это делать в обычных редакторах.
- Визуальный режим — выделение произвольных участков текста.
- Режим командной строки — собственная командная строка для редактора текста, из которой можно выполнять великое множество разнообразных команд.