GNU Emacs - это уникальный зверь в мире текстовых редакторов. Он славится своей беспрецедентной универсальностью, расширяемостью и функциональностью, которые выводят его за рамки простого текстового редактора в полнофункциональную интегрированную среду разработки (IDE). Разработанный под эгидой проекта GNU, Emacs с открытым исходным кодом обеспечивает его постоянное развитие и адаптацию к меняющемуся ландшафту вычислительной техники.
Ключевые особенности GNU Emacs
- Расширяемость: Emacs работает на основе уникального принципа проектирования, согласно которому каждая операция является вызовом функции в базовом языке программирования Emacs Lisp. Это позволяет пользователям изменять и расширять практически любой аспект редактора, подстраивая его под свои нужды.
- Интеграция: В отличие от некоторых редакторов, которые существуют как самостоятельные инструменты, Emacs разработан для интеграции с множеством других программ. Он может быть оболочкой, системой контроля версий, IRC-клиентом или даже веб-браузером, что избавляет от необходимости жонглировать несколькими приложениями.
- Универсальность: Emacs может работать практически с любым типом файлов - от обычного текста и языков разметки до языков программирования и даже двоичных файлов.
- Широкая языковая поддержка: Emacs имеет широкую языковую поддержку, со встроенными режимами для множества языков программирования. Это означает, что он предоставляет подсветку синтаксиса, правила отступов и другие специфические для данного языка функции.
- Рабочий процесс, ориентированный на клавиатуру: Emacs известен своим подходом, ориентированным на работу с клавиатурой. Большинство действий можно выполнять, не отрываясь от клавиатуры, что обеспечивает более эффективный и непрерывный рабочий процесс.
- Обширное сообщество и документация: Emacs имеет большое и активное сообщество пользователей, что обеспечивает постоянный поток новых пакетов, тем и расширений. Обширная документация, включая встроенный учебник по Emacs, делает его доступным для новичков.
Что отличает GNU Emacs?
Emacs имеет несколько уникальных особенностей, которые отличают его от других текстовых редакторов и IDE.
- Самодокументирование: Emacs является самодокументирующимся. Используя команды 'describe', пользователи могут узнать, что делают функции, какие аргументы они принимают и даже как они реализованы.
- Макросы: Emacs обладает мощными возможностями макросов. Пользователи могут определять последовательности команд и привязывать их к клавишам, автоматизируя повторяющиеся задачи и повышая производительность.
- Emacs Lisp: Emacs по сути является интерпретатором Emacs Lisp, диалекта языка программирования Lisp. Это позволяет пользователям изменять и расширять Emacs практически безграничными способами.
- Org-режим: Org-режим Emacs - это мощный инструмент для ведения заметок, списков TODO и планирования проектов, что превращает Emacs в полноценный набор для продуктивной работы.
Понимание и использование GNU Emacs требует определенного уровня приверженности и времени. Однако после освоения его мощь и гибкость становятся непревзойденными, что делает его незаменимым инструментом для многих программистов, системных администраторов и опытных пользователей.
В следующем руководстве мы рассмотрим, как установить GNU Emacs на Ubuntu 22.04 (Jammy Jellyfish) и Ubuntu 20.04 (Focal Fossa) LTS Linux. Однако эти же методы должны работать и в редакциях Ubuntu с коротким сроком жизни, которые не достигли статуса "конец жизни". Мы продемонстрируем три альтернативных метода установки: APT, Snap или Flatpak с репозиторием Flathub.
Установка GNU Emacs в Ubuntu Linux
Установка GNU Emacs с помощью управления пакетами APT
Шаг 1: Обновление системы Ubuntu
Прежде чем приступить к установке GNU Emacs, необходимо сначала обновить пакеты в системе Ubuntu. Таким образом, мы убедимся, что наша система обновлена, что позволит избежать потенциальных конфликтов или проблем, возникающих из-за устаревших пакетов. Чтобы обновить систему, выполните в терминале следующие команды:
1 2 | sudo apt update sudo apt upgrade |
Команда sudo apt update получает список доступных обновлений из репозиториев, а sudo apt upgrade обновляет текущие пакеты в вашей системе до последних версий.
Шаг 2: Выбор подходящего метода установки APT
Существует два основных метода установки GNU Emacs с помощью APT:
Метод 1: Установка GNU Emacs непосредственно из репозитория Ubuntu
Этот метод является наиболее простым и часто рекомендуемым, особенно для дистрибутивов LTS (Long Term Support). Хотя версия, которую вы получите, может быть не самой последней, она гарантированно стабильна и совместима с вашей системой, а значит, меньше вероятность сбоев.
Чтобы установить стандартную версию GNU Emacs из репозиториев Ubuntu, введите в терминале следующую команду:
1 | sudo apt install emacs |
Метод 2: Установка GNU Emacs с помощью PPA
Второй способ установки Emacs с помощью APT предполагает использование PPA (Personal Package Archive). В этом руководстве мы будем использовать PPA Кевина Келли. Прелесть этого PPA заключается в его универсальности - он предоставляет сборки для Emacs 28, 27, 26 и 25. Это особенно полезно, если вы ищете конкретную версию Emacs.
Первый шаг к использованию этого метода - импортировать PPA в вашу систему с помощью команды ниже:
1 | sudo add-apt-repository ppa:kelleyk/emacs -y |
После добавления PPA очень важно обновить систему с помощью sudo apt update. Это позволит вашей системе распознать недавно добавленный PPA и включить его в свои источники пакетов:
1 | sudo apt update |
Чтобы просмотреть версии Emacs, доступные в этом PPA, вы можете использовать следующее:
1 | sudo apt-cache show emacs* | grep "Version" |
Пример вывода:
Для большинства пользователей на момент написания этого руководства предпочтительной будет последняя версия, Emacs версии 28. Чтобы установить эту версию, выполните следующие действия:
1 | sudo apt install emacs28 |
Стоит отметить, что если вы работаете в безголовом окружении, таком как Ubuntu server, вы сможете установить только терминальную версию Emacs. Это можно сделать с помощью следующей команды:
1 | sudo apt install emacs28-nox |
Буква "nox" в emacs28-nox означает "no X", что означает отсутствие графического интерфейса. Таким образом, эта версия Emacs будет работать исключительно в терминале, что делает ее подходящей для серверных сред.
Установка GNU Emacs с помощью Snap
Менеджер пакетов Snap предлагает пользователям Ubuntu альтернативный метод установки GNU Emacs. Версия Emacs, установленная с помощью Snap, обычно обновляется довольно быстро по мере появления новых версий. Если вы не удалили Snap из своей системы, вы можете легко установить и запустить GNU Emacs этим способом.
Шаг 1: Переустановка Snap, если необходимо
Snap обычно предустановлен в большинстве современных дистрибутивов Ubuntu. Однако если по какой-то причине вы удалили его из системы и хотите установить заново, вам пригодится следующая команда:
1 | sudo apt install snapd |
Пакет snapd - это фоновая служба, которая позволяет приложениям Snap работать в вашей системе. Выполнив приведенную выше команду, вы восстановите возможности Snap в вашей системе Ubuntu, тем самым подготовив почву для установки Emacs через Snap.
Шаг 2: Установка GNU Emacs через Snap
Как только вы подтвердили наличие snapd в вашей системе, путь к установке Emacs становится ясным. Для большинства пользователей Ubuntu достаточно одной командной строки, чтобы запустить Emacs:
1 | sudo snap install emacs --classic |
В этой команде стоит обратить внимание на переключатель --classic. GNU Emacs, как и некоторые другие приложения, требует полного доступа к системе, поскольку он занимается не только редактированием текста. Ограничение --classic в Snap обеспечивает такой же уровень доступа к системе, как и традиционные пакеты, позволяя Emacs функционировать в полном объеме.
Установка GNU Emacs с помощью Flatpak и Flathub
В этом разделе представлен альтернативный метод установки GNU Emacs с помощью менеджера пакетов Flatpak. Flatpak обеспечивает среду "песочницы", в которой пользователи могут запускать приложения в изоляции от остальной системы, что дает такие преимущества, как повышенная безопасность, улучшенная совместимость и простота распространения приложений.
Шаг 1: Включение Флатпака
Прежде чем приступить к установке GNU Emacs через Flatpak, необходимо сначала включить репозиторий Flathub. Flathub является основным источником приложений Flatpak. Чтобы добавить репозиторий Flathub в конфигурацию Flatpak, выполните следующую команду:
1 | sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo |
Эта команда позволит вашей системе получить доступ к обширной библиотеке приложений, включая GNU Emacs, которые распространяются через Flathub.
Шаг 2: Установка GNU Emacs
После включения репозитория Flathub вы можете установить GNU Emacs. Этому способствует команда flatpak install:
1 | flatpak install flathub org.gnu.emacs -y |
Выполнив приведенную выше команду, вы установите последнюю версию GNU Emacs из репозитория Flathub.
Если в вашей системе не установлен Flatpak, обратитесь к нашему руководству "Как установить Flatpak в Ubuntu" за подробными инструкциями по установке последней поддерживаемой версии Flatpak.
Использование Flatpak гарантирует, что вы получите безопасную, изолированную среду, в которой GNU Emacs будет работать без помех для других системных процессов. Это удобная альтернатива традиционным менеджерам пакетов, таким как APT, особенно если вы хотите быть в курсе последних обновлений GNU Emacs непосредственно от разработчиков.
Запуск GNU Emacs (графический интерфейс или терминал)
После того как вы успешно установили GNU Emacs в своей системе, вы можете задаться вопросом, как запустить этот мощный текстовый редактор. Здесь мы рассмотрим несколько способов запуска GNU Emacs, которые соответствуют различным путям установки и предпочтениям пользователей.
Запуск GNU Emacs для пользователей настольных компьютеров
Пользователи настольных компьютеров, установившие GNU Emacs с помощью APT или других стандартных методов установки, могут запустить приложение, выполнив в терминале следующую команду:
1 | emacs |
Эта команда запускает версию GNU Emacs с графическим интерфейсом, обеспечивая удобный интерфейс для работы.
Запуск GNU Emacs в среде без GUI
Для пользователей серверов Ubuntu или тех, кто работает в среде без GUI, GNU Emacs можно запустить с помощью следующей команды:
1 | emacs-nox |
Эта версия Emacs запускается в терминале, не требуя графического интерфейса пользователя. Это особенно удобно для серверных сред.
Запуск GNU Emacs для установок Snapcraft
Пользователи, выбравшие метод установки Snapcraft, могут запустить GNU Emacs с помощью следующей команды:
1 | snap run emacs |
Команда 'snap run' гарантирует, что будет вызвана правильная версия GNU Emacs (установленная с помощью Snap).
Запуск GNU Emacs для пользователей Flatpak
Если вы установили GNU Emacs с помощью Flatpak, вам нужно будет запустить его с помощью немного другой команды:
1 | flatpak run org.gnu.emacs |
Эта команда указывает Flatpak запустить версию GNU Emacs, доступную в его изолированной среде.
Запуск GNU Emacs через значок приложения
Большинство пользователей настольных компьютеров предпочитают запускать GNU Emacs через значок приложения. Доступ к нему можно получить по следующему пути:
Activities > Show Applications > Emacs
Пример иконок приложений Emacs в Ubuntu Linux:
Советы по началу работы с Emacs в Ubuntu Linux
GNU Emacs - это очень универсальный и настраиваемый текстовый редактор, полюбившийся программистам и писателям на протяжении многих десятилетий. Хотя его обширный набор функций может оказаться непосильным для новичков, некоторые советы и рекомендации могут сделать ваш первый путь более плавным и продуктивным. Здесь мы поделимся несколькими рекомендациями по началу работы с GNU Emacs в Ubuntu Linux.
Основные команды Emacs
Знакомство с некоторыми основными командами может значительно улучшить ваш опыт работы с Emacs. Несколько часто используемых команд включают:
- Ctrl-x Ctrl-s # Сохранить текущий файл
- Ctrl-x Ctrl-w # Сохранить текущий файл под другим именем
- Ctrl-x Ctrl-f # Открыть файл
- Ctrl-x k # Закрыть текущий файл
- Ctrl-g # Отменить команду
- Ctrl-x u # Отменить команду
Не беспокойтесь о том, чтобы запомнить все команды сразу, это произойдет само собой при регулярном использовании.
Навигация по интерфейсу Emacs
Emacs имеет уникальный интерфейс с различными окнами (на языке Emacs называемыми "фреймами") и панелями. Вот несколько быстрых советов по навигации:
- Переключение между фреймами: Используйте команду Ctrl-x o для перехода между различными фреймами.
- Разделение окон: Вы можете разделить окно Emacs на несколько панелей с помощью команд Ctrl-x 2 (разделить горизонтально) и Ctrl-x 3 (разделить вертикально).
- Закрытие окон: Чтобы закрыть разделенное окно, используйте Ctrl-x 0. Чтобы закрыть все остальные окна, кроме активного, используйте Ctrl-x 1.
Настройка GNU Emacs
Одним из достоинств Emacs является высокая степень его настройки. Все настройки Emacs хранятся в конфигурационном файле, известном как .emacs или init.el, расположенном в вашем домашнем каталоге. Вот несколько предложений для начала работы:
Установка темы: Вы можете установить цветовую тему, добавив в файл .emacs или init.el следующее:
1 | (load-theme 'theme-name t) |
Замените 'theme-name' на название предпочитаемой темы.
Добавление номеров строк: Чтобы отображать номера строк в текстовых файлах, добавьте следующее в файл .emacs или init.el:
1 | (global-display-line-numbers-mode) |
Использование документации Emacs
Emacs предоставляет обширную встроенную документацию. Доступ к ней осуществляется нажатием Ctrl-h, за которым следует команда. Например, Ctrl-h t открывает учебник Emacs, а Ctrl-h r - руководство Emacs.
Пример пользовательского интерфейса GNU Emacs после запуска на Ubuntu Linux:
Управление GNU Emacs в Ubuntu Linux
Обновление GNU Emacs
Чтобы поддерживать оптимальную функциональность и безопасность GNU Emacs, очень важно следить за обновлением программного обеспечения. В зависимости от способа первоначальной установки применяются различные команды.
Обновление Emacs, установленного через APT
Emacs, установленный с помощью менеджера пакетов APT, можно обновить, выполнив следующую команду:
1 | sudo apt upgrade && sudo apt upgrade |
Эта команда сначала обновляет список доступных пакетов, а затем обновляет все устаревшие пакеты в вашей системе, включая Emacs.
Обновление Emacs, установленного с помощью Flatpak
Если вы установили Emacs с помощью Flatpak, следующая команда позволит обновить ваше приложение:
1 | flatpak update |
Flatpak работает с обновлениями иначе, чем традиционные менеджеры пакетов, поскольку он проверяет наличие обновлений для всех установленных приложений и времени выполнения.
Обновление Emacs, установленного через Snap
Пользователи Snap могут обновить все установленные привязки, включая Emacs, с помощью команды snap refresh.
1 | sudo snap refresh emacs |
Деинсталляция GNU Emacs
Могут возникнуть ситуации, когда вам понадобится удалить Emacs из вашей системы Ubuntu. Процесс удаления зависит от метода установки, который вы использовали изначально.
Удаление Emacs, установленного через APT
Чтобы удалить версию Emacs, установленную через APT, выполните следующую команду:
1 | sudo apt remove emacs{version} |
Кроме того, вы можете удалить PPA из вашей системы, если вы не планируете использовать его снова:
1 | sudo add-apt-repository --remove ppa:kelleyk/emacs -y |
Удаление Emacs, установленного через Flatpak
Чтобы удалить GNU Emacs, установленный через Flatpak, вместе с его данными, выполните следующую команду:
1 | flatpak uninstall --delete-data org.gnu.emacs |
Удаление Emacs, установленного через Snap
Если вы установили Emacs как пакет Snap, используйте следующую команду для его удаления:
1 | flatpak remove --unused |
Заключение
В этом руководстве мы рассмотрели различные аспекты установки, запуска, управления и начала работы с GNU Emacs в дистрибутиве Ubuntu Linux. Независимо от того, как вы решили установить Emacs - с помощью менеджера пакетов APT, Flatpak или Snap, - в этом руководстве вы найдете пошаговые инструкции по эффективному использованию каждого метода. Кроме того, мы обсудили, как обновить или удалить Emacs в зависимости от ваших конкретных потребностей. Обучение управлению установкой Emacs - это важный шаг в поддержании безопасной и эффективной среды кодирования.