Текстовые консольные редакторы в Linux: зачем и для кого?
Мы привыкли взаимодействовать с операционной системой посредством графического интерфейса. Когда, например, нам надо что-то записать или отредактировать текстовый документ, то мы открываем текстовый редактор и выполняем нужные действия.
Пользователи Windows привыкли к Блокноту, использующим macOS можно открыть TextEdit. Текстовые редакторы дистрибутивов Linux зависят от среды рабочего стола, при этом, как и на других системах стандартный редактор можно заменить на любой иной. Чуть позже на канале выйдет заметка с моим рейтингом текстовых редакторов в Linux.
Cегодня поговорим про консольные текстовые редакторы и то, кем и для чего они используются. Если вы не читали материалы, посвященные терминалу, то можете сделать это перейдя по ссылкам ниже.
Зачем и кому нужны текстовые консольные редакторы?
Казалось бы на кой редактировать текст через терминал, если есть привычные редакторы с графическим интерфейсом. Но стоит понимать, что дистрибутивы Linux используются также на различных серверах (они в первую очередь для серверов то и разрабатывались), где отсутствует привычная пользователю графика.
На таких серверах нужно редактировать или создавать конфигурационные файлы, что невозможно сделать без редактора текста. То есть, первая категория пользователей, которым нужны консольные текстовые редакторы — те, кто взаимодействуют с серверами Linux.
Есть разработчики, которые вместо установки какой-либо интегрированной среды разработки (IDE), настраивают консольный редактор для работы с кодом. Преимуществами использования консольной версии вместо традиционных JetBrains или Visual Studio Code называют скорость работы, функциональность и возможность открывать многострочные документы больших объемов.
Ну и не стоит забывать про пользователей Linux, которые в силу привычки, редактируют текст посредством консольных редакторов. Им так кажется проще и быстрее.
Популярные консольные текстовые редакторы
Ниже будет просто перечисление и краткое описание опыта использования. Подробнее о конкретных текстовых редакторах и редакторах, поставляемых со средами рабочего стола мы поговорим в следующих постах.
- Vim (и Vim-подобные редакторы, такие как Neovim, Astravim и пр.)
- Nano
- Emacs
- Joe
- Mcedit
Из перечисленных выше постоянно взаимодействую с редактором Nano, так как он поставляется практически со всеми дистрибутивами, некоторое время назад начал использовать Neovim (он используется по-умолчанию на личном сервере). Про остальные слышал от ряда блогеров (например, блогер Дерек Тейлор, известный на Youtube как DistroTube, активно «топит» за Emacs и уже посвятил этому редактору несколько видео) и встречал упоминания в интернете.
Напомню, что в рамках данного поста мы просто ответили на вопрос о том, зачем нужны консольные текстовые редакторы и кто их использует на повседневной основе.
Расскажите в комментариях, пользуйтесь ли вы консольными текстовыми редакторами и если да, то какими и почему именно сделали такой выбор. Чтобы не пропустить новые материалы, нужно подписаться на канал! Также поддержите посты лайками, это способствует продвижению на Дзен.
Выбор текстового редактора в консоли Linux
Виртуальные серверы Linux не оснащены графическим интерфейсом, поэтому их администрирование осуществляется через консоль — или посредством , встроенной в панель управления Xelent, или же по SSH. Часто у администратора возникает потребность отредактировать файл конфигурации сервера.
Проблем с этим, как правило, никаких нет — запускаешь предпочитаемый текстовый редактор, открываешь файл, редактируешь и сохраняешь. Однако редактирование некоторых файлов конфигурации, в частности /etc/sudoers, осуществляется только посредством специальных утилит (в данном случае — visudo или crontab — при редактировании расписания планировщика), которые запускают текстовый редактор для консоли Linux по умолчанию. Таковым является vi, перекочевавший в современные дистрибутивы Linux с годов и его нельзя назвать удобным.
В этой заметке будут рассмотрены некоторые текстовые редакторы, и будет показано, как по умолчанию установить понравившийся, чтобы он вызывался при редактировании некоторых специальных файлов конфигурации, которые нельзя редактировать в ручном режиме.
Многообразие выбора
Самый удобный и простой, из известных мне, текстовый редактор Linux консоль — nano (раньше он назывался pico и входил в состав почтового клиента pine). Nano изображен на рис. 1.
Внизу (под текстом) есть подсказка по комбинациям клавиш для управления редактором. Символ ^ означает . То есть для выхода из ytuj нужно нажать комбинацию клавиш +, а для сохранения текста — +.
В некоторых системах (например, в FreeBSD) вместо nano используется ee (в Linux его нет). Он похож на nano, но существуют и различия — подсказки выводятся до текста (вверху экрана), а не после него, но идея та же. Также довольно удобен joe. Скажем так, текстовый редактор Linux консоль nano будет удобнее, он поддерживает подсветку синтаксиса, внизу есть панель с подсказками, но это дело привычки.
В пакет mc (файловый менеджер) входит хороший и довольно удобный mcedit, который запускается при нажатии клавиши в mc (рис. 3). Но вы можете запустить консольные текстовые редакторы в Linux отдельно:
Классический синий фон, подсказки функциональных клавиш внизу Не менее удобен, чем nano. Консольные текстовые редакторы в Linux joe, nano и ee запускаются аналогично:
Мы только что рассмотрели три текстовых редактора для Linux (один был для FreeBSD). Выбор конкретного зависит от ваших личных предпочтений. Но в любом случае, каждый из представленных вариантов будет удобнее, чем стандартный vi.