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

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

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

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

Поэтому сегодня мы рассмотрим, как можно настроить Emacs с помощью тем и некоторых других функций.

Начальный взгляд

Первоначально, когда вы загружаете Emacs, тема, которая появляется вместе с Emacs, выглядит следующим образом:

1

Это, однако, на самом деле не выглядит так приятно для глаз. Давайте изменим это и создадим стиль Emacs с новым дизайном.

Предпосылки

Однако, прежде чем мы перейдем к реальному процессу, нам сначала нужно добавить несколько строк в наш файл инициализации. Когда Emacs запускается, первый файл, который обрабатывается, является этим файлом инициализации, который содержит команды, написанные на Лиспе, которые позволяют пользователям настраивать Emacs. Это в основном то, что вы называете файлом настроек настройки Emacs. Чтобы открыть наш файл инициализации, нажмите клавиши Ctrl + x, затем Ctrl + f и введите ~/.emacs. Здесь нам сначала нужно добавить необходимый код перед обновлением Emacs нашей новой темой. Для этого нам нужно добавить следующие строки кода в наш файл инициализации:

(require 'package)
 
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
 
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))

Приведенный выше код в основном добавляет архив Melpa в список репозиториев пакетов, найденных в Emacs, и дает ему разрешение на использование этих пакетов.

Кроме того, он устанавливает пакет use, пакет, который можно использовать для дальнейшей установки других пакетов.

Добавление темы в Emacs

Теперь мы будем добавлять тему в наш Emacs. Есть множество отличных тем, доступных там. Хороший сайт для проверки это Emacs Themes.

В этом уроке я добавлю тему Zenburn к нашим Emacs. Для этого еще раз откройте файл инициализации и добавьте в него следующие строки кода:

(use-package zenburn-theme
:ensure t
:config
(load-theme 'zenburn t))

Это устанавливает тему Zenburn и загружает ее после перезапуска Emacs. Теперь наш Emacs выглядит примерно так:

2

По сравнению с первоначальной темой это выглядит намного лучше.

Дальнейшая настройка нашей темы

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

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

(set-face-attribute 'default nil :font "DejaVu Sans Mono")

Это устанавливает семейство шрифтов или, как его называет Emacs, лицо шрифта как DejaVu Sans. Я могу дополнительно настроить это, изменив размер шрифта или указав отдельный шрифт для определенного языка, например C ++.

Стандартные темы Emacs

Сам Emacs поставляется с несколькими темами по умолчанию. Для пользователей, которые не хотят беспокоиться об изменении своего файла инициализации, они могут просто добавить одну из этих тем по умолчанию в свои Emacs. Пользователи могут проверить темы Emacs по умолчанию, нажав Alt + x и введя customize-themes.

3

Это выведет их на экран, который выглядит примерно так:

4

Все темы, представленные в списке выше, поставляются вместе с Emacs 26. Для выбора темы из этого списка пользователям необходимо перейти к названию темы, которую они хотят выбрать, и нажать клавишу ввода.

Они сразу увидят изменения в Emacs, и рядом с полем выбранной ими темы также появится крестик. Например, если я выберу tango-dark, то это будет выглядеть так;

5

Однако, это все еще не является постоянным, и после перезагрузки Emacs появится старая тема Emacs.

Чтобы навсегда установить эту тему в качестве темы для Emacs, перейдите к кнопке «Сохранить настройки темы» и нажмите клавишу ввода.

6

Отключение пользовательской темы

Для пользователей, которые не привыкли к своей новой теме и предпочитают старую, они могут отключить ее с помощью команды disable-theme. Например, если я хочу отключить свою тему Zenburn, мне нужно добавить следующую строку кода в мой файл инициализации:

(disable-theme 'zenburn)

Это отключает мою тему Zenburn и переключается на тему по умолчанию.

Примечание: добавьте команду disable-theme после команды load-theme.

Вывод

Простота, с которой пользователи могут изменять темы или размеры шрифтов, которые поставляются с Emacs, показывает его универсальность и расширяемость, и это делает Emacs таким мощным и уникальным по сравнению с другими текстовыми редакторами.