Emacs

Використання Lisp в Emacs

Використання Lisp в Emacs
Швидке прогресування технологій дозволило різним інструментам програмування стати помітними та потрапити в центр уваги. Текстові редактори включаються в такі інструменти через масштабний розвиток, що відбувається в технологічному бізнесі. Їх легкий характер, а також їх гнучкість для редагування та створення файлів та потужна нестандартна продуктивність зробили текстові редактори досить улюбленими серед спільноти. Переваги текстових редакторів часто змушують розробників віддавати перевагу цим інструментам порівняно з іншими подібними інструментами, такими як IDE. Текстові редактори стоять на передньому краї роботи, яку виконують розробники, тому важливо використовувати редактор, який надає різноманітні функції відповідно до ваших потреб.

Emacs - один із таких прикладів текстового редактора, який завдяки своїй універсальності та настроюваності має ціле ім'я серед спільноти розробників. Emacs - один із найстаріших редакторів тексту, відомий своєю стабільністю та послідовністю.

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

У цій статті розповідається про те, як використовувати Lisp за допомогою різних методів для налаштування та налаштування Emacs.

Основи Ліспа

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

У Lisp програми складаються із символічних виразів, скорочених до s-exps. Ці вирази можуть складатися як із змінних, так і з інших функцій.

Функція відзначається шляхом загортання тексту в дужки. Наприклад, для виклику функції додавання використовується такий синтаксис:

(+ 2 2)

У наведеному вище твердженні сказано: “додайте 2 до 2.”Вкладені s-exps виглядатимуть приблизно так:

(+ 2 (+ 1 1))

Ви також можете зберігати значення всередині змінної за допомогою команди setq:

(setq моє ім'я "Джон")

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

(квадрат розмиття (x)
(* x x))
(квадрат 2)

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

Примітка: ви повинні оцінити як розмитий сегмент, так і квадратний відрізок.

Це охоплює основи. У наступних розділах буде показано, як налаштувати Emacs за допомогою Lisp.

Файл ініціалізації

Коли Emacs запускається, першим обробленим файлом є файл ініціалізації або файл ініціювання, який містить команди, написані на Lisp, що дозволяють користувачам налаштовувати Emacs. Щоб відкрити файл ініціалізації, натисніть Ctrl + x, слідом за ним Ctrl + f, а потім введіть ~ /.emacs. Усередині цього виразу ви можете вставити додатковий код для налаштування Emacs.

1) Додавання підтримки пакетів

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

(потрібно "пакет")
(додати до списку 'архіви пакетів
'("мельпа" . "http: // melpa.орг / пакунки / ") т)
(ініціалізація пакета)
(пакет-оновлення-вмісту)

Цей код додає архів Melpa до списку сховищ пакетів, надає дозвіл Emacs використовувати ці пакети, ініціалізує ці пакети та оновлює вміст для внесення змін. Якщо ви відкриєте список пакетів, натиснувши Alt + x і введіть пакет-список-пакетів, Ви можете побачити встановлені пакети в архіві Melpa.


-

2) Зміна теми Emacs

Спочатку, коли ви завантажуєте Emacs, ви отримаєте екран, вітаючи вас у Emacs і надаючи вам різні опції, такі як Підручник з Emacs.

Однак ця сторінка виглядає не так чудово. Lisp дозволяє змінювати тему Emacs та стартову сторінку відповідно до ваших уподобань. Користувачі можуть завантажувати різні типи тем, змінювати розміри шрифтів і навіть додавати маркери рядків.

Наприклад, скажімо, що ви хочете замінити стартову сторінку в скретч-буфер, завантажити тему «Матеріал» і додати рядки маркерів. Це можна зробити, додавши наступні рядки до файлу init:

(setq inhibit-startup-message t)
(матеріал теми завантаження)
(глобальний режим лінуму t)

Як визначено вище, синтаксис setq робить повідомлення inhibit-startup істинним, що видаляє початкову початкову сторінку. Тема навантаження завантажує тему матеріалу. Синтаксис у режимі глобального лінуму - це просто функція, яка встановлюється як істина і виконується для отримання номерів рядків. Ось як повинен виглядати Emacs після введення вищевказаних команд:

3) Прив’язати ярлики до прив’язок клавіш

Lisp також можна використовувати для прив'язки команд або ярликів до клавіш. Це дозволяє користувачам налаштовувати Emacs відповідно до своїх уподобань, а також запускати власні функції, зроблені користувачем, лише одним клацанням миші.

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

(defun insert_backslash ()
(інтерактивний)
(вставити "\"))
(глобальний ключ-ключ (kbd ""C-x C-o"")
'insert_backslash)

Тут визначається функція insert_backslash, робиться інтерактивною (це дозволяє функцію називати інтерактивно, що означає прив'язку клавіші), а на виході виходить зворотний слеш. Потім ви можете прив’язати функцію за допомогою наведених вище клавіш, використовуючи ключове слово global-set-key.

Навіщо використовувати Lisp?

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

"
Як показати накладання екранного меню в повноекранному додатку та іграх для Linux
Гра у повноекранні ігри або використання додатків у повноекранному повноекранному режимі може відключити від відповідної системної інформації, видимої...
Топ 5 карт для захоплення ігор
Ми всі бачили і любили потокові ігри на YouTube. PewDiePie, Jakesepticye та Markiplier - лише деякі з найкращих геймерів, які заробили мільйони, заван...
Як розробити гру на Linux
Десять років тому не так багато користувачів Linux передбачали, що їх улюблена операційна система колись стане популярною ігровою платформою для комер...