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

Nano

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

$ nano .bashrc

Nano

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

Vim

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

$ vim .bashrc

Vim

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

Editors Learning
Curve

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

Vim

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

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

  • Командный режим (обычный режим) — это режим по умолчанию. Перемещение по файлу, быстрое (при помощи команд, комбинаций клавиш) редактирование, удаление, поиск текста.
  • Режим вставки (режим ввод) — ввод текста с клавиатуры. То, как вы привыкли это делать в обычных редакторах.
  • Визуальный режим — выделение произвольных участков текста.
  • Режим командной строки — собственная командная строка для редактора текста, из которой можно выполнять великое множество разнообразных команд.

Кстати, большая часть Хекслета, как платформы, и почти весь текстовый контент (курсы) сделаны именно в виме. Включая эту строчку ;)


Дополнительные материалы

  1. Vim
  2. Sed (**S**tream **Ed**itor)
Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Node, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →