В этой главе мы познакомимся ещё с одним ключевым инструментом Linux — текстовыми редакторами.
Как вы могли заметить, почти всё в Linux основано на тексте: конфигурации систем, настройки сервисов, скрипты и служебные утилиты. Все они хранятся в обычных текстовых файлах. Чтобы их читать и изменять, нужны текстовые редакторы.
Историческая справка. Такой подход к работе с системой уходит корнями в философию Unix и принцип «всё есть файл».
Многие ключевые элементы системы — конфигурации, журналы и служебные интерфейсы — представлены в виде файлов в текстовом виде, удобном для чтения и изменения.
Это делает систему предсказуемой, гибкой и хорошо приспособленной к автоматизации.
Ключевые вопросы параграфа
- Что такое консольный текстовый редактор и чем он принципиально отличается от графического?
- Как развивались консольные редакторы от первых версий до современных?
- В каких ситуациях консольные редакторы становятся незаменимыми?
- Какие популярные консольные редакторы существуют в Linux и как выбрать подходящий?
- С какими трудностями сталкиваются новички при первом знакомстве и почему их преодоление полезно?
- Какие возможности настройки и кастомизации помогают адаптировать редактор под свои нужды?
Что такое текстовый редактор?
Текстовый редактор — это привычный инструмент, с помощью которого пользователи, разработчики и системные администраторы работают с текстовыми файлами: создают заметки, редактируют сценарии, изменяют конфигурации или пишут код.
Иными словами, это программа для просмотра и редактирования текстовых файлов — основного способа хранения данных в Linux.
Текстовые редакторы бывают двух типов:
- графические;
- консольные.
Давайте коротко зафиксируем различия.
Графические редакторы работают в оконной среде и имеют привычный интерфейс с меню, вкладками, подсветкой синтаксиса и поддержкой плагинов.
Они удобны для работы над проектами, где много файлов или сложная структура, и используются чаще всего при разработке приложений.
Примеры графических редакторов: Visual Studio Code, Sublime Text, Atom.

Консольные редакторы запускаются внутри терминала и управляются только с клавиатуры. Они не требуют графической оболочки и остаются доступными даже в минимальных системах или при подключении по SSH.
Они входят в сильно урезанные окружения: если система не загружается и вы подключаетесь к серверу через режим восстановления, часто единственные доступные инструменты — это консольные редакторы.
В таких случаях умение открыть и поправить конфигурацию может буквально «спасти систему».
Примеры консольных редакторов: vi, nano, micro.

Как вы догадались, дальше речь пойдёт именно о консольных редакторах: проследим, как они развивались.
История и эволюция консольных текстовых редакторов
Консольные текстовые редакторы — неотъемлемая часть истории Unix и Linux. Они появились ещё в 1970-х годах, когда графических интерфейсов не существовало, а вся работа с компьютером происходила через командную строку и терминалы.
Первым редактором был ed, входивший в стандартные поставки Unix. Он работал с текстом построчно, что было удобно при медленных телетайпах и ограниченных ресурсах. Несмотря на минимализм, именно ed заложил фундамент всей философии редактирования текста через команды.
Построчный режим редактирования означает, что пользователь взаимодействует с текстом строка за строкой, вводя команды для просмотра и изменения. Такой принцип возник из-за технических ограничений ранних Unix-терминалов.

Позже появился ex, расширение ed с поддержкой визуального режима.
Визуальный режим позволяет видеть текст прямо на экране и перемещаться по нему с помощью курсора, а не построчно через команды — это был первый шаг к интерактивному редактированию.
Именно ex стал предшественником vi — редактора, который навсегда изменил работу с текстом в консоли. Vi ввёл модальную работу с текстом.
Модальная работа с текстом предполагает использование разных режимов: в одном пользователь вводит команды, в другом — непосредственно изменяет текст, что ускоряет и упрощает работу.
В 1991 году на базе vi появился Vim (англ. Vi IMproved). Это современный редактор с расширенными возможностями: подсветкой синтаксиса, плагинами, макросами и поддержкой множества языков программирования. Vim стал эталоном для всех системных администраторов и программистов, работающих в терминале.
Подсветка синтаксиса — выделяет элементы кода (ключевые слова, строки, комментарии) цветом, что помогает быстрее понимать структуру и замечать ошибки.
Плагины — дополнительные модули, расширяющие возможности редактора: от автодополнения и проверки орфографии до интеграции с системами контроля версий.
Макросы — последовательности действий, которые можно записать и воспроизвести, чтобы автоматизировать повторяющиеся операции при редактировании текста.
Параллельно развивался Emacs, созданный в середине 1970-х. В отличие от vi, Emacs был ориентирован на расширяемость: через плагины и скрипты его можно превратить в практически любую рабочую среду. В этом смысле Emacs больше, чем редактор — это целая экосистема для работы с текстом и кодом.

В 2000-х годах появились не такие известные, но удобные редакторы — micro, helix и kakoune. Они сохраняют философию минимализма и модальности, но делают акцент на удобство и современные подходы к редактированию.

Главная мысль: каждый консольный редактор — это продукт своего времени, отражающий задачи и философию Unix/Linux.
Каждое поколение добавляло новые идеи, делая редактирование быстрее и удобнее, но сохраняя ключевой принцип: эффективность работы с текстом прямо в консоли.
Когда и зачем использовать консольные редакторы
Новичку может показаться, что консольные редакторы — пережиток прошлого. Но на практике без них не обойтись.
Они незаменимы, когда вы работаете на удалённом сервере через SSH, где нет графического интерфейса, или нужно быстро исправить строку в конфигурации прямо на месте.
Даже учебные курсы по Linux делают на них упор — ведь это базовый инструмент, доступный в любой системе, даже в минимальной установке без графики.
Консольный редактор — это инструмент «всегда под рукой»: лёгкий, надёжный и одинаково доступный на ноутбуке, сервере или виртуальной машине.
Однако у них есть и ограничения.
Если вы работаете с крупным проектом, где десятки файлов, сложная структура и нужен поиск по всему коду, автодополнение и плагины — здесь удобнее использовать графические редакторы или IDE (Integrated Development Environment) вроде VS Code или PyCharm.
Можно запомнить просто:
- консольные редакторы — для быстрых правок, администрирования и работы на сервере;
- графические редакторы и IDE — для полноценной разработки и долгих проектов.
Совет. Не противопоставляйте консольные и графические редакторы — у каждого свой сценарий. Хороший специалист умеет работать и с теми и с другими.
Популярные консольные редакторы в Linux
В Linux есть множество консольных текстовых редакторов, и у каждого свой характер. Они различаются по возможностям, сочетаниям клавиш и уровню сложности.
nano — самый простой и дружелюбный к новичкам. Все команды подсказаны внизу экрана, поэтому начать работать можно без подготовки.
vim — мощный редактор с огромными возможностями, но требует времени на освоение. Подходит для тех, кто проводит много времени в терминале и хочет максимальную скорость.
emacs — универсальный инструмент, который можно превратить почти во всё: от редактора до среды разработки. Его ценят за гибкость и расширяемость, но интерфейс может показаться непривычным.
Есть и другие: micro, jed, joe, ne, — у каждого своя философия, особенности и аудитория.

Какой выбрать?
Для начала лучше освоить nano — он установлен почти во всех дистрибутивах и отлично подходит для базовых задач.
Позже, когда появится уверенность в терминале, можно попробовать vim или emacs, чтобы оценить их возможности.
Совет. Не пытайтесь выучить все редакторы сразу. Выберите один, который удобен лично вам, и освойте его до автоматизма — этого достаточно для уверенной работы в Linux.
В следующем параграфе мы подробно разберём nano: как открыть файл, редактировать текст, сохранять изменения и выходить из редактора. Этот редактор станет вашей первой практической точкой входа в мир работы с текстом через консоль.
Давайте проверим, как вы запомнили особенности консольных редакторов:
Первое знакомство: трудности и польза
Когда вы впервые открываете консольный редактор, всё кажется непривычным: экран меняется, нет меню, клавиши ведут себя иначе. Это нормально.
Эти редакторы создавались для работы с клавиатурой, и у них своя логика. Но освоить её несложно — большинство базовых команд выводятся прямо на экран.
Через несколько попыток вы почувствуете уверенность. Вы сможете открывать файлы, редактировать, сохранять и выходить без страха что-то испортить.
Главное — понимать, зачем вы это делаете: консольные редакторы позволяют работать с Linux в его естественной среде, быть независимым от графического интерфейса и уверенно действовать в любой ситуации.
Совет. Не бойтесь пробовать. Первый шаг — самый сложный, но результат того стоит: вы начинаете понимать Linux «изнутри».
Как использовать текстовые редакторы
Работа с текстовыми редакторами в Linux почти всегда начинается так же, как выполнение любой другой команды. Вы вводите имя программы и при необходимости указываете файл, с которым хотите работать:
1имя_редактора имя_файла
Если файл существует, редактор откроет его содержимое.
Если файла нет, обычно создаётся новый пустой файл с указанным именем.
Текстовые редакторы, как и другие команды, можно запускать с разными опциями (флагами), например:
1имя_редактора -опция имя_файла
Эти опции позволяют изменять поведение программы: открывать файл в определённом режиме, читать данные из другого источника, сохранять в новом формате и так далее.
Иногда для редактирования системных файлов требуются повышенные права. В этом случае перед командой используют sudo:
1sudo имя_редактора /etc/файл_конфигурации
Совет. Не пытайтесь сразу редактировать важные системные файлы без понимания последствий. Используйте `sudo`, только когда действительно нужно.
Главная идея: консольный текстовый редактор — это просто программа, как любая другая в Linux. Его можно вызывать, передавать аргументы, запускать с опциями и комбинировать с другими инструментами.
Давайте попробуем составить команду для открытия файла config.txt в редакторе с правами суперпользователя:
Настройки и кастомизация
Даже если редактор кажется простым, у него есть множество «секретных рычажков», которые делают работу удобнее. Вы можете подстроить его под себя — так, чтобы печатать и редактировать было проще и быстрее.
На что обычно обращают внимание:
-
Внешний вид — можно включить подсветку синтаксиса, номера строк, поменять отступы и табуляцию. Всё это помогает сразу видеть структуру текста и меньше путаться.
-
Поведение редактора — например, автосохранение, перенос длинных строк, режимы вставки и редактирования. Это удобно, чтобы не терять работу и делать меньше лишних движений.
-
Сочетания клавиш — часто можно переназначить горячие клавиши под себя, чтобы всё работало «на автомате».
-
Плагины и расширения — некоторые редакторы позволяют добавить дополнительные функции: автодополнение кода, поиск по файлам, проверку орфографии и многое другое.
Большинство редакторов хранит эти настройки в отдельных конфигурационных файлах. Это значит, что вы можете перенести свои привычки на другой компьютер или сделать их постоянными для всех сессий.
Совет. Не пытайтесь настроить всё сразу. Сначала познакомьтесь с базовыми командами, а потом добавляйте удобные фишки и плагины, которые реально помогают вам работать быстрее. Редактор — ваш инструмент, и чем лучше вы его подстроите под себя, тем проще и приятнее будет работать с текстом.
Что дальше
В следующем параграфе вы познакомитесь с вашим первым консольным редактором — nano. Узнаете:
- как открыть файл и начать редактирование;
- как сохранять изменения и выходить из редактора;
- какие сочетания клавиш нужны для базовой работы;
- как не растеряться, если что-то пошло не так.
А пока — закрепите материал на практике:
- Отметьте, что урок прочитан при помощи кнопки ниже.
- Пройдите мини-квиз, чтобы проверить, насколько хорошо вы разобрались с идеей консольных редакторов.
Ключевые выводы параграфа
- Почти всё в Linux — это текст, и работать с ним проще через текстовые редакторы.
- Консольные редакторы незаменимы при администрировании, быстрых правках и работе на серверах через консоль.
- Графические редакторы и IDE удобны для больших проектов, автодополнения и плагинов, но не всегда доступны.
- Любой текстовый редактор в Linux — это обычная программа: его можно вызывать с аргументами и флагами, запускать с
sudoдля системных файлов. - Настройки редактора, сочетания клавиш и плагины делают работу быстрее и удобнее.
