Начатый Брайаном Лундюком эксперимент, в рамках которого он решил целый месяц использовать исключительно консольные приложения, вызвало закономерный вопрос о практическом смысле подобной операции. Это, конечно, интересно, но весь с самого начала было очевидно, что консоль в наше время никогда не сможет заменить полноценного графического режима.

Тем не менее, рациональное зерно эксперимента — ещё раз привлечь внимание пользователей к незаслуженно забытому консольному режиму, который в ряде случаев не просто оправдан, а безальтернативен. Разумеется, речь идёт не про все программы. Вряд ли можно представить ситуацию, когда пользователь будет вынужден применять консольный браузер.

А вот консольный текстовый редактор — инструмент не просто полезный, а необходимый. В частности, концепция ряда дистрибутивов предполагает ручную правку некоторых файлов конфигурации ещё до первого запуска графического режима. Или аварийный случай, когда «иксы» не запускаются вообще.

Не зря в Linux существует специальная переменная окружения EDITOR, которой по умолчанию, как правило, соответствует именно консольный текстовый редактор (nano или vi), поскольку он может быть запущен в любом режиме. Универсальность в данном случае важнее удобства, за которое часто выдаётся банальная привычка.

Отсюда мораль: каждый пользователь должен уметь работать как минимум в одном текстовом редакторе. Хотя бы на уровне внесения минимальных правок в конфигурационные файлы. Впрочем, часто бывает так, что при более близком знакомстве выясняется, что именно эта программа лучше всего подходит для решения штатных пользовательских задач.

Emacs

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

Главное достоинство Emacs — практически неограниченная возможность настройки и кастомизации. Главный же недостаток редактора — обратная сторона его достоинств. Даже грамотному и терпеливому пользователю, умеющему и любящему читать инструкции, потребуется потратить достаточно много времени, чтобы настроить приложение сообразно своим собственным представлениям об удобстве.

Развитие Emacs в сторону его многогранности послужило причиной того, что и без того интуитивно непонятная программа стала чрезвычайно сложной в применении. В частности, управление осуществляется при помощи различных клавиатурных комбинаций, запомнить которые будет непросто.

Частично эта неприятная для начинающего пользователя особенность компенсируется превосходной справочной системой. Поэтому на практике бывает достаточно запомнить клавиатурную комбинацию для её вызова.

Разумеется, применять Emacs для первичного разового редактирования конфигурационных файлов — то же самое, что стрелять из пушки по воробьям. Тратить время на изучение этого редактора целесообразно, если у пользователя есть твёрдое намерение активно эксплуатировать его для решения своих текущих задач — написания кода или обычного текста.

Что, кстати, вовсе не является стремлением к оригинальности — довольно много программистов до сих пор пользуются Emacs и считают его одним из лучших инструментов для работы с кодом. При определённых настройках он удобен и для набора обычных текстов — работают и мягкий перенос строк, и проверка орфографии на лету, и много других полезных функций.

Jed

Этот редактор позволяет использовать меню, что делает работу с ним более простой и наглядной. Однако простота это видимая — некоторые особенность Jed делают работу в нём для новичка серьёзным испытанием выдержки.

В частности, для удаления символа в Jed используется только клавиша Backspace — на нажатие на кнопку Delete редактор не реагирует. Если же запустить программу без указания имени редактируемого файла, но загрузить его через меню не получится — только ввести вручную.

Тем не менее программа позволяет одновременно работать с несколькими файлами, поддерживает режимы подсветки и т. п. Некоторые опытные пользователи называют Jed облегчённым Emacs, и доля истины в этом есть. По крайней мере, клавиатурные комбинации у них похожие.

Joe

Joe — редактор, управляемый при помощи клавиатурных комбинаций. Его основная особенность заключается в «многоликости» — программа умеет «маскироваться» под другие аналогичные программы. Например, чтобы запустить приложение в emacs-режиме, следует набрать jmacs.

Несмотря на внешнюю простоту редактор Joe обладает большими возможностями: подсветка синтаксиса, поддержка работы с несколькими файлами одновременно, режим рисования ASCII-графики, автодополнение и и. п. В сочетании с полностью переведённой на русский язык man-инструкцией это делает приложение хорошим выбором как для новичков, так и для опытных пользователей.

Подобно остальным консольным текстовым редакторам Joe чрезвычайно богат всевозможными опциями и даже имеет собственный макроязык. Обратная сторона этого достоинства также традиционна — тратить время на настройку и кастомизацию ради однократного редактирования пары-тройки файлов совершенно нецелесообразно.

Mcedit

Mcedit — простенький редактор, встроенный в файловый менеджер Midnight Commander. Впрочем, его можно использовать и как самостоятельное приложение.

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

Разумеется, при большом желании функциональность Mcedit можно расширить за счёт макросов, которые создаются достаточно просто — обычным протоколированием действий. Также у программы есть немного настроек, в которых можно задать какие-то важные параметры — например, определить режим переноса строк.

Тем не менее, Mcedit — прекрасный редактор для нечастого применения, когда надо подправить буквально пару строк в каком-либо конфигурационном файле. Использовать его для чего-то более сложного вряд ли целесообразно.

Nano

Nano начали разрабатывать как свободный клон Pico — встроенного редактора почтового клиента Pine. Установлен по умолчанию в большинстве дистрибутивов, и именно его часто используют в качестве примера во всевозможных пособиях по настройке системы.

На сегодняшний день именно Nano — разумный компромисс между простотой и функциональностью. Внесение небольших изменений в файлы конфигурации не требует чтения документации, тем более что даже подсказка по наиболее важным командам переведена на русский язык.

Даже ошибиться сложно, поскольку перед сохранением файла программа попросит подтвердить это действие. В-общем, очень хороший редактор для новичков.

С другой стороны — масса клавиатурных комбинаций для навигации, поиска и редактирования, включение и выключение переноса строк, разнообразные режимы подсветки... Всё это делает Nano хорошим инструментом для программиста или технического писателя. Но в этом случае его настройка и кастомизация вряд ли будет проще, чем в Emacs.

Pico

Pico — редактор, входящий в почтовый клиент Pine (Alpine). Он достаточно прост и интуитивно понятен, но применять его вряд ли разумно, поскольку значительно лучше выбрать его клон Nano.

Vim

Vim заслуженно считается одним из самых сложных в освоении, но удобных в применении консольных текстовых редакторов. Больше всего начинающего пользователя смущают два основных режима работы: командный (нормальный) и редактирования (текстовый). Также возможна работа в т. н. визуальном режиме, позволяющем оперировать с блоками текста.

По умолчанию Vim стартует в командном режиме, не предполагающим ввода символов, а служащим для выполнения всевозможных операций над текстом. В результате новичок просто не понимает, что именно ему следует сделать для начала редактирования и ищет другой инструмент для этой цели.

В этом смысле Vim похож на Emacs — изучать его исключительно для правки конфигурационных файлов совершенно нерационально. Vim — чрезвычайно мощный инструмент, востребованный как программистами, так и техническими писателями, поскольку позволяет им максимально эффективно выполнять свою повседневную работу.

Возможности Vim очень велики: подсветка синтаксиса, проверка орфографии, применение мягкого переноса строк, использование всевозможных команд для работы над текстом... При этом практически все функции редактора настраиваются, включая клавиатурные комбинации.

Интересно, что распространяется Vim не на условиях GPL. Его авторы выбрали совместимую с GPL лицензию Charityware, явно требующую, чтобы часть собранных средств направлялась на благотворительность. Поскольку по понятным причинам продажа копий этого приложения лишена смысла, программа при запуске показывает пользователю просьбу жертвовать средства детям Уганды.

Таким образом, Vim — прекрасный выбор для «всерьёз и надолго». А вот для эпизодического выполнения каких-то операций лучше поискать инструмент попроще.