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

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

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

В этой статье рассказывается, как использовать Lisp с помощью различных методов для настройки и настройки Emacs.

Основы Lisp

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

В Lisp программы состоят из символических выражений, сокращенных до s-exps. Эти выражения могут состоять либо только из переменных, либо из других функций.

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

(+ 2 2)

Вышеприведенное утверждение гласит: «добавь 2 к 2». Вложенные s-exps будут выглядеть примерно так:

(+ 2 (+ 1 1))

Вы также можете хранить значения внутри переменной, используя команду setq:

(setq my-name "John")

Функции могут быть определены с помощью ключевого слова defun. Например, функция, которая вычисляет квадрат числа, записывается следующим образом:

(defun square (x)
    (* x x))

(square 2)

Вы можете оценить функции, определенные с помощью клавиш Ctrl + x, а затем Ctrl + e. Это создаст вывод внутри мини-буфера. Например, функция квадрата будет иметь следующий вывод:

Примечание: вы должны оценить сегмент defun и квадратный сегмент.

Это охватывает основы. В следующих разделах будет показано, как настроить Emacs с помощью Lisp.

Файл инициализации

Когда запускается Emacs, первым обработанным файлом является файл инициализации или файл инициализации, который содержит команды, написанные на Lisp, которые позволяют пользователям настраивать Emacs. Чтобы открыть файл инициализации, нажмите Ctrl + x, затем Ctrl + f и введите ~/.emacs. Внутри этого выражения вы можете вставить дополнительный код для настройки Emacs.

Добавление поддержки пакетов

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

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

Этот код добавляет архив Melpa в список репозиториев пакетов, дает Emacs разрешение использовать эти пакеты, инициализирует эти пакеты и обновляет содержимое для внесения изменений. Если вы откроете свой список пакетов, нажав Alt + x и введя package-list-packages, вы увидите установленные пакеты в архиве Melpa.

Изменение темы Emacs

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

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

Например, скажем, вы хотите заменить начальную страницу в «чистый» буфер, загрузить тему «Материал» и добавить маркеры строк. Это можно сделать, добавив следующие строки в файл инициализации:

(setq inhibit-startup-message t)
(load-theme 'material t)
(global-linum-mode t)

Как определено выше, синтаксис setq делает истинным сообщение о запрете, которое удаляет начальную начальную страницу. Load-theme загружает материал темы. Синтаксис global-linum-mode - это просто функция, которая установлена ​​в true и выполняется для получения номеров строк. Вот как должен выглядеть Emacs после ввода вышеуказанных команд:

Привязать сочетания клавиш к привязкам клавиш

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

Предположим, вы определили функцию, которая просто создает символ обратной косой черты, и вы хотите назначить ее клавишам Ctrl + x, а затем Ctrl + o. Это можно сделать, добавив следующие строки в файл инициализации:

(defun insert_backslash ()
  (interactive)
  (insert "\"))

(global-set-key (kbd "C-x C-o")
                'insert_backslash)

Здесь функция insert_backslash определена, сделана интерактивной (это позволяет интерактивно вызывать функцию с помощью привязки клавиш), а выводом является обратная косая черта. Затем вы можете связать функцию с ключами, указанными выше, используя ключевое слово global-set-key.

Зачем использовать Lisp?

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