GNU Emacs

GNU Emacs (від англ. GNU Editor MACroS) — потужний розширюваний, з великими можливостями у налаштуванні, екранний текстовий редактор. Є варіантом реалізації Emacs організації GNU. Створений Річардом Столменом.

GNU Emacs
Робоче вікно GNU Emacs при редагуванні однієї із версій цієї статті, в режимі wikipedia-mode, кольорова тема color-theme-goldenrod, шрифт Terminus
Тип текстовий редактор, інтерпретатор
Автор(и) Річард Столмен
Розробник проєкт GNU
Перший випуск 1976 рік
Стабільний випуск 27.2 (25 березня 2021 (2021-03-25))
Репозиторій git.savannah.gnu.org/cgit/emacs.git
Операційна система Unix, FreeBSD, Linux, MS Windows та інші
GNU фреймворк Windows API, Cocoa і GTK
Мова програмування C та Emacs Lisp
Українська ні
Ліцензія GNU GPL
Онлайн-документація gnu.org/software/emacs/manual/html_node/emacs/index.html
Вебсайт gnu.org/software/emacs

 GNU Emacs у Вікісховищі

Особливості

GNU Emacs має такі особливі характеристики:

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

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

Використання

Типові команди

В нормальному режимі редагування, Емакс поводиться як і решта текстових редакторів: клавіші з друкованими символами (a, b, c, 1, 2, 3 тощо) вставляють відповідні символи в текст, клавіші переміщення змінюють місце розташування курсора, бекспейс видаляє текст, і так далі. Інші команди викликаються за допомогою натискання спеціальних клавіш (контрол, Control, або альт, Alt) разом зі звичайними. Будь-яка команда редагування насправді є викликом функції із середовища Емакс Лісп. Навіть, просте натискання a для вставки a призводить до виклику функції, в цьому випадку, self-insert-command.

Деякі із типових команд перелічено нижче; решту команд можна знайти в довідці Емакса. Клавішу «Ctrl» позначено літерою С, а мета, або «Alt» літерою М.

КомандаКомбінація клавішОписання
forward-charC-fПересунути курсор на наступний символ (вправо).
backward-charC-bПересунути курсор на попередній символ (вліво).
previous-lineC-pПерейти на попередній рядок (вгору).
next-lineC-nПерейти на наступний рядок (вниз).
forward-wordM-fПерейти на одне слово вперед.
backward-wordM-bПерейти на одне слово назад.
beginning-of-lineC-aПерейти на початок рядка.
end-of-lineC-eПерейти на кінець рядка.
isearch-forwardC-sПочати інкрементний пошук вперед.
isearch-backwardC-rПочати інкрементний пошук назад.
undoC-/Скасувати останню зміну, і попередні при повторному виклику.
keyboard-quitC-gСкасувати поточну команду.
fill-paragraphM-qРозбити параграф на рядки.
find-fileC-x C-fВідкрити файл (слід вказати ім'я) в окремому буфері для редагування.
save-bufferC-x C-sЗберегти поточний буфер у відповідному файлі.
write-fileC-x C-wЗберегти поточний буфер у файлі з вказаним ім'ям.
save-buffers-kill-emacsC-x C-cЗапропонувати зберегти зміни, а потім закрити Емакс.
set-markerC-[space]/C-@Встановити маркер на початок регіону тексту, який слід копіювати або вирізати.
cutC-wВирізати весь текст між маркером та поточним місцем знаходження курсора.
copyM-wСкопіювати текст між маркером та поточним місцем знаходження курсора.
pasteC-yВставити текст з буфера обміну Емакса.
paste specialC-x C-rВставити спеціальний текст із буфера обміну Емакса.
kill-bufferC-x kЗакрити буфер з вказаним ім'ям, або поточний буфер, якщо ім'я відсутнє.

Додаткові пакети

Існує велика кількість додаткових пакетів розширення функціональності системи. Так, в стандартному дистрибутиві GNU Emacs є пакети для емуляції терміналів, поштовий клієнт, календар, клієнт Usenet, файловий менеджер, переглядачі довідкових сторінок, документів допомоги GNU Info тощо. Існують макроси для полегшення редагування файлів різних форматів (тексти програм, ASCII Art, тексти в форматі SGML, XML та LaTeX тощо).

GNU Emacs, також, може використовуватись як інтегроване середовище для створення програм, документів, сайтів. Наприклад:

  • Org - програмний засіб для ведення нотаток, списків завдань, планування та мова розмітки даних.
  • Project.el додає інструменти для взаємодії з початковим кодом проєктів, а також навігації та пошуку.
  • nxml-mode призначено для полегшення роботи з XML документами. Макроси з цього пакету додають можливості валідації XML документів проти RelaxNG XML схем, автоматичне розставлення відступів тощо.
  • VC додає засоби роботи з репозиторіями систем керування версіями.

Починаючи з версії 24 в GNU Emacs вбудований менеджер пакетів package.el, завдяки якому можна встановити додаткові пакети за допомогою команди M-x package-install. Найвідоміші репозиторії:

  • GNU Emacs Lisp Package Archive - офіційний репозиторій проєкту який містить пакети схвалені FSF.
  • NonGNU ELPA - також є офіційним, але на відміну від GNU ELPA не вимагає передавати авторські права.
  • MELPA - неофіційний репозиторій, але містить найбільшу кількість пакетів.

Інші популярні пакети, що не входять до складу GNU Emacs:

Інформацію про додаткові макроси та пакети також можна знайти на сайті EmacsWiki.

Окрім редагування текстів та документів, Emacs може використовуватись як середовище для виконання комп'ютерних ігор. До складу стандартного дистрибутиву GNU Emacs включено відому програму Eliza, запустити яку можна в редакторі командою M-x doctor, Tetris та інші.

Див. також

Посилання

Примітки

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.