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 моето име "Джон")

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

(defun квадрат (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.org / пакети / ") т)
(инициализиране на пакета)
(пакет-опресняване-съдържание)

Този код добавя архива Melpa към списъка с хранилища на пакети, дава разрешение на Emacs да използва тези пакети, инициализира тези пакети и опреснява съдържанието, за да се извършат промените. Ако отворите списъка си с пакети, като натиснете Alt + x и въведете пакет-списък-пакети, можете да видите инсталираните пакети в архива на Melpa.


-

2) Промяна на темата на Emacs

Първоначално, когато заредите Emacs, ще получите екран, който ви приветства в Emacs и ви дава различни опции, като урок за Emacs.

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

Например, да речем, че искате да замените стартовата страница в скреч буфера, да заредите темата Материал и да добавите водещи символи. Това може да се направи, като се добавят следните редове към инициалния файл:

(setq inhibit-startup-message t)
(load-theme 'material t)
(глобален режим на линум t)

Както е дефинирано по-горе, синтаксисът setq прави съобщението inhibit-startup true, което премахва началната начална страница. Темата за зареждане зарежда темата на материала. Синтаксисът в глобален режим на линум е просто функция, която е настроена да бъде истина и се изпълнява, за да генерира номера на редове. Ето как трябва да изглежда 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 наистина мощен и уникален в сравнение с други текстови редактори.

"
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...
Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...