Работаем с текстовыми файлами в терминале Linux, редакторы

webmaster

Опубликован:  2021-05-03T06:00:34.742014Z
Отредактирован:  2021-05-03T05:51:46.610490Z
0
0
0
Вы неавторизованы, рекомендую зарегистрироваться и авторизоваться.

Редактирование текстовых файлов - очень часто встречающаяся в повседневной практике задача при работе с компьютером. Решить эту задачу можно с помощью специально предназначенной для этого программы - текстового редактора. Мир Open Source многообразен и предлагает целый сонм различающихся по функционалу и методам работы текстовых редакторов. В этом выпуске блога предлагаю вашему вниманию беглый обзор текстовых редакторов, с помощью которых можно редактировать текст в консоли Linux, когда X-сервер и привычный графический рабочий стол недоступны... да, и в 21-веке такие ситуации нередки, хоть и являются скорей исключением из правил.

В одном из предыдущих выпусков этого блога в списках auriz.ru уже описаны некоторые аспекты работы с текстовыми файлами в консоли Linux, для этого был использован текстовый редактор NeoVim, на этот раз я слегка расширю рамки привычного мира и покажу другие доступные пользователям Debian варианты редактирования текста в консоли.

1. Важная информация для постоянных читателей

Уважаемый читатель, списки auriz.ru не имеет спонсоров и финансирования, и чтобы выжить мы можем рассчитывать только на поддержку своих постоянных читателей и их пожертвования. Если вам оказалась полезна эта или другая статья этого сайта, и вы хотите больше интересных материалов на auriz.ru, поддержите нас рублём, ваша поддержка даст нам шанс выжить, оплатить продление домена и VDS, написать и опубликовать для вас другие интересные материалы.

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

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

2. О задаче

Создание и редактирование текстовых файлов обычно, не всегда, осуществляется с помощью текстовых редакторов. Когда вы работаете с графическим рабочим столом, эта задача совершенно не представляет трудности, у вас есть удобный файловый менеджер, в котором просто создать файл и открыть его в установленном по дефолту для данного рабочего стола графическом текстовом редакторе из ряда: Gedit, Kwrite/Kate, Mousepad etc. в зависимости от установленного на машине графического окружения. Такой текстовый редактор имеет GUI - кнопочки, менюшки - с ним просто работать, создавать, открывать, сохранять файлы, он имеет удобные продвинутые настройки и вам не требуется ничего запоминать.

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

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

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

Далее я продемонстрирую наиболее популярные текстовые редакторы для консоли Linux и кратко опишу их характерные особенности и области использования.

3. Nano

Nano - консольный текстовый редактор, который установлен в Debian даже в самом минимально возможном наборе программного обеспечения.

ABBuEpTSol.png

Разработчиков Nano вдохновил интегрированный в e-mail клиент Pine редактор Pico, и великолепен он своей удивительной простотой и доступностью. Чтобы запустить Nano и создать или открыть текстовый файл, достаточно простой команды.

nano test-file.txt

Если файл уже существовал в файловой системе, то он будет открыт в редакторе, если нет - будет создан и открыт в редакторе.

tjzV9QUxv6.png

Nano весьма прост в использовании, научиться им пользоваться можно за пару-тройку сеансов. На снимке экрана выше видно, что в псевдоокне редактора есть панель, в которой перечислены основные команды для управления редактором, и в этом перечне есть почти всё, что необходимо оператору, чтобы создать или отредактировать небольшой текстовый файл, будь то файл настроек или элементарный скрипт bash. А чтобы ввести текст в Nano, достаточно просто поставить руки на клавиатуру и напечатать его.

WkXT5X37ZR.png

Nano очень полюбился системным администраторам. Если нужно отредактировать fstab или написать юнит systemd, Nano - это то, что вам нужно. После набора и правки текста сохранить изменения можно с помощью простого сочетания клавиш ctrl+o, а выйти из редактора - ctrl+x, кроме этого у Nano есть команды поиска, замены, вырезания фрагмента текста, вставки вырезанного ранее фрагмента текста и так далее. Nano удобен и незамысловат, но только до определённого набора желаний оператора. Программистам он вряд ли будет интересен именно по причине своей простоты.

У Nano есть man-страница, кроме этого справку можно получить прямо в сессии редактора сочетанием ctrl+g.

lmby1SIaj6.png

Если вы часто работаете в консоли и вам при этом приходится создавать и редактировать текстовые файлы, то освоить в той или иной мере функционал Nano вам рано или поздно придётся, при условии, что вы не владеете более продвинутыми консольными текстовыми редакторами.

4. MCedit

МСedit - это редактор, встроенный в файловый менеджер Midnight Commander, который впрочем вполне можно вызвать и из командной строки командой mcedit. Чтобы программа появилась в вашей системе, достаточно установить сам файловый менеджер.

sudo apt install mc

Открыть файл в этом редакторе довольно просто.

mcedit test-file.txt

1iClIIuB61.png

Этот редактор имеет псевдографический интерфейс и управляется функциональными клавишами F1...F10, чтобы отредактировать простой текстовый файл или небольшой системный скрипт, вполне подойдёт, но не более. Вообще, и сам файловый менеджер, и его компоненты сегодня можно считать рудиментом, и используют его в основном люди ленивые и не желающие осваивать продвинутые приёмы работы в командной строке.

5. Jed

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

sudo apt install jed

После установки открыть любой текстовый файл в jed так же просто - командой в терминале.

jed test-file.txt

2sSSeTJtRH.png

Управлять этим текстовым редактором можно с помощью клавиатурных сочетаний или посредством псеводографического меню, доступ к которому можно получить клавишей F10.

OvtYXJva7V.png

Редактор, вероятно, подойдёт программистам, например Питоний код в нём выглядит как-то так.

5uYkpy2qFT.png

У jed есть справка, которую можно получить прямо в окне редактора.

llAm7w0PHM.png

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

6. Micro

Micro - ещё один консольный текстовый редактор для программистов. По умолчанию в системах Debian он не установлен, но установить его можно с помощью apt.

sudo apt install micro

Открыть текстовый файл в нём можно простой командой.

micro test-file.txt

xoxjb7jnrF.png

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

ZTMQXlMrdP.png

У редактора есть встроенная справка и учебник, к ним можно получить доступ прямо в открытой сессии micro.

h9RNiaZ9xD.png

Micro отличается великолепной поддержкой мыши и является кроссплатформенным приложением, вполне интересный текстовый редактор для терминала.

7. Vim и его клоны

Vim, наряду с Emacs, причислен к тяжёлой артиллерии Open Source - наследник старого-доброго Vi. Когда-то считалось, что каждый уважающий себя пользователь Linux-систем просто обязан уметь пользоваться Vim хотя бы в рамках официального учебника - vimtutor, а официальная документация некоторых популярных дистрибутивов обязательно имела описание приёмов работы с ним хотя бы на начальном уровне.

KUDsDEw0ve.png

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

В Debian установить Vim можно при помощи apt.

sudo apt install vim

Открыть файл в Vim можно командой в терминале.

vim test-file.txt

FEC3ve0Q66.png

Характерная особенность Vim - два режима работы: командный режим и режим ввода и редактирования текста. Vim очень нравится многим программистам и по праву занимает почётное место на их десктопах.

75ed5LRVFn.png

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

У Vim есть графическая версия основанная на библиотеке Gtk.

zbGb9AOAmI.png

Кроме этого у Vim есть несколько клонов. Один из них - NeoVim. В Debian NeoVim можно установить с помощью apt.

t1Mn9iDLzN.png

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

nvim run.py

psqs0eXuPk.png

Ещё один клон Vim - текстовый редактор Kakoune.

gJDj3yKorF.png

Открыть в нём файл можно простой командой.

kak run.py

AEIxKYMDHg.png

При переходе в командный режим Kakoune показывает возможные варианты выбора команды и подсказки.

GUrbwwr6Gf.png

Я тоже изучаю Vim и его возможности, но главный недостаток Vim по моему мнению - это необходимость переключаться между режимами и каждый раз нажимать клавишу Escape, к которой приходится тянуться, но это, конечно же, IMHO...

8. Emacs

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

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

Установить консольный Emacs в Debian можно с помощью apt.

sudo apt install emacs-nox

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

emacs

VOLKzIDvzw.png

Открыть файл в Emacs из командной строки так же просто.

emacs run.py

8Wvecb4PIr.png

Этот редактор поддерживает работу с несколькими файлами одновременно.

56ocZmBNOn.png

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

9. Выводы и умозаключения

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

Комментарии: