Dzisiaj jest 19 stycznia 2025 r.
Chcę dodać własny artykuł

Emacs

Emacs

Emacs to rodzina edytorów tekstu, znana ze swojej elastyczności i możliwości rozszerzeń. Najpopularniejsza wersja, GNU Emacs, opisuje się jako „rozszerzalny, dostosowywalny, samodokumentujący się edytor”. Rozwój Emacsa rozpoczął się w latach 70. XX wieku, a prace nad GNU Emacsem trwają do dziś.

Historia

Pierwsza wersja Emacsa, napisana przez Richarda Stallmana w 1976 roku, była zestawem makr dla innego edytora. W 1984 roku Stallman rozpoczął pracę nad GNU Emacsem, który stał się pierwszym programem projektu GNU. W 2008 roku Stallman przekazał projekt innym programistom.

Architektura Emacsa

Emacs składa się z niewielkiego jądra napisanego w C oraz interpreterem dialektu Lispu, Emacs Lisp. Dzięki tej konstrukcji, użytkownicy mogą w pełni kontrolować zachowanie edytora. Typowe rozszerzenia obejmują:

  • Podświetlanie i automatyczne formatowanie kodu źródłowego
  • Integracja z systemami kontroli wersji
  • Obsługa różnych typów urządzeń
  • Przeglądanie stron WWW i obsługa poczty elektronicznej

Tryby uruchomieniowe

GNU Emacs może być uruchamiany w dwóch trybach: tekstowym i graficznym. Oferuje również możliwość działania jako serwer, co umożliwia współdzielenie buforów przez różne klienty.

Skróty klawiszowe

W Emacsa każde wciśnięcie klawisza wywołuje funkcję napisaną w Emacs Lisp. Skróty klawiszowe oraz sekwencje zaczynające się od C-x lub C-c umożliwiają dostęp do różnych funkcji.

Tryby Emacsa

Emacs obsługuje dwa typy trybów: główne (Major) i pomniejsze (Minor). Tryby główne są dedykowane większości języków programowania, oferując kolorowanie składni oraz nowe funkcje, podczas gdy pomniejsze dodają pojedyncze funkcjonalności, jak wyświetlanie zegara.

Bufory

Operacje w Emacsie wykonywane są na buforach, które mogą reprezentować pliki, katalogi czy inne treści.

Minibufor

Minibufor to obszar, w którym wyświetlane są wyniki komend oraz wprowadzane są argumenty dla funkcji.

Okna i ramki

Oknami nazywamy obszary wyświetlania buforów, natomiast ramkami określamy okna w trybie graficznym, w których mogą być wyświetlane różne okna.

Hooki

Hooki w Emacsie umożliwiają wywoływanie kodu użytkownika w odpowiednich momentach, co pozwala na dostosowanie funkcji do określonych trybów.

Etags i ctags

Te programy generują indeksy definicji w plikach źródłowych, umożliwiając nawigację pomiędzy definicjami a ich wywołaniami.