Emacs
Tato stránka je součástí úložiště: | |
Příslušnost: všeobecná |
Tato stránka je určena pro shromažďování wikiverzitních i externích zdrojů o textovém editoru Emacs, využitelných pro vzdělávání a výzkum.
Základní informace
[editovat]- Článek na české Wikipedii
- Článek na anglické Wikipedii
- GNU Emacs — oficiální stránka
- EmacsWiki — vše o Emacsu
Podstránky
[editovat]- /instalace
- /tutoriál – upovídaný úvod pro začátečníky
- /konfigurace – různé konfigurační příkazy
- /packages – balíky
- /modes – editační módy
- /wiki – použití emacsu pro editaci wiki
- /Perl – použití emacsu pro editaci Perlu
- /UTF-8 – emacs & kódování UTF-8
Základní příkazy
[editovat]Výběr z příkazů, které uživatel bude asi nejčastěji používat. Popsáno je standardní nastavení kláves (Emacs umožňuje význam kláves měnit.)
Klávesa[1] | Anebo[1] | Popis[2] | Poznámka |
---|---|---|---|
C-x C-s | save-buffer | uložení aktuálního bufferu[3] | |
C-x C-c | save-buffers-kill-emacs | ukončení Emacsu[4] | |
C-x k | kill-buffer | ukončí práci v aktuálním či pojmenovaném bufferu | |
C-u * | M-* | universal-argument | následující příkaz provede *-krát |
M-x | execute-extended-command | provede příkaz zadaný do minibufferu | |
<f10> | menu-bar-open | otevře menu pro výběr příkazu | |
C-g | keyboard-quit | zruší rozpracovaný klávesový příkaz | |
<f11> | toggle-frame-fullscreen | v grafickém režimu zapíná/vypíná celoobrazovkový mód | |
Nápověda | |||
C-h * | <f1> * | help | * = o čem konkrétně má být nápověda, např.: |
C-h a | <f1> a | search for command | seznam příkazů dle zadaného vzoru |
C-h k | <f1> k | describe key | popis, co dělá určitá klávesa |
C-h t | <f1> t | help-with-tutorial | interaktivní tutoriál (i česky) |
C-h C-h | <f1> ? | seznam všech helpů | |
Proměnné | |||
C-h v | describe-variable | zobrazí hodnotu proměnné | |
set-variable | nastaví hodnotu proměnné | ||
Okna[5] | |||
M-v | prior | scroll-down | roluje text v oknu na předchozí „stránku“[6] |
C-v | next | scroll-up | roluje text v oknu na následující „stránku“[6] |
C-l | recenter-top-bottom | roluje text v oknu tak, aby byl kursor vprostřed/nahoře/dole | |
C-x 0 | delete-window | zavře aktuální okno, přesune kursor do vedlejšího | |
C-x 1 | delete-other-windows | jedno okno: zavře další okna, ponechá jen aktuální | |
C-x 2 | split-window-below | rozdělí okno horizontálně na dvě: nové okno vytvoří pod aktuálním | |
C-x 3 | split-window-right | rozdělí okno vertikálně na dvě: nové okno vytvoří vpravo | |
Pohyb kursoru | |||
C-b | left | backward-char | ← |
C-f | right | forward-char | → |
C-p | up | previous-line | ↑ |
C-n | down | next-line | ↓ |
C-a | home | beginning-of-line | začátek řádky |
C-e | end | end-of-line | konec řádky |
M-b | C-left | backward-word | předchozí slovo |
M-f | C-right | forward-word | následující slovo |
M-a | backward-sentence | předchozí věta | |
M-e | forward-sentence | následující věta | |
M-{ | C-up | backward-paragraph | předchozí odstavec |
M-} | C-down | forward-paragraph | následující odstavec |
M-g g | M-g M-g | goto-line | skok na danou řádku |
M-< | C-home | beginning-of-buffer | začátek bufferu[3] |
M-> | C-end | end-of-buffer | konec bufferu[3] |
Editace | |||
C-_ | undo | vrácení předchozího příkazu | |
insert | overwrite-mode | přepínání vkládání/přepisování[7] | |
C-d | delete | delete-char | smazání následujícího znaku |
DEL | delete-backward-char | smazání předchozího znaku[8] | |
C-k | kill-line | vyjmutí řádky a uložení do zásobníku | |
C-w | kill-region | vyjmutí označené oblasti a uložení do zásobníku | |
M-w | kill-ring-save | zkopírování označené oblasti do zásobníku[9] | |
C-y | yank | vložení položky ze zásobníku | |
C-s | isearch-forward | inkrementální vyhledávání[10] | |
C-r | isearch-backward | zpětné inkrementální vyhledávání[10] | |
M-% | query-replace | vyhledání a nahrazení | |
Makra | |||
C-x ( | <f3> | start defining kbd macro | spustí definici makra |
C-x ) | <f4> | stop defining kbd macro | ukončí definici makra |
C-x e | <f4> | execute the kbd macro | spustí makro |
Elisp | |||
M-: | eval-expression | provede elispový příkaz v minibufferu | |
C-x C-e | eval-last-sexp | provede elispový příkaz před kursorem | |
Poznámky k tabulce
[editovat]- ↑ 1,0 1,1 V prvních dvou sloupečcích jsou uvedeny defaultní klávesy. V prvním sloupečku jsou „standardní“ kombinace, které by měly fungovat na jakékoliv alfanumerické klávesnici. Druhý sloupeček ukazuje využití klávesnice PC, vybavené kursorovými a dalšími speciálními klávesami.
- ↑ Ve třetím sloupečku jsou popisná anglická jména příkazů. Český význam je vysvětlen ve sloupci s poznámkami.
- ↑ 3,0 3,1 3,2 Během editace je soubor z disku natažen do bufferu, tj. vyhrazené části paměti, ve které probíhají změny. Proto se nehovoří o uložení souboru, ale o uložení bufferu.
- ↑ Před ukončením (dosl. „zabitím“) Emacsu se zkontroluje, jsou-li uloženy všechny změny z bufferů na disk.
- ↑ Bez ohledu na grafický mód.
- ↑ 6,0 6,1
prior
označuje na PC klávesnici klávesuPgUp
,next
klávesuPgDn
. Je zřejmé, že při povelu o stránku (obrazovku) výš musí text rolovat dolů, při stránce níž naopak nahoru. - ↑ Normálně se Emacs spustí v insert módu, kdy nový text je vpisován mezi starý. Klávesa
insert
zapíná a vypíná overwrite mód, ve kterém nově psaný textr přepisuje starý. Tento mód je signalizován na stavovém (předposledním) řádku návěštímOvwrt
. - ↑
DEL
zde (z historických důvodů) označuje klávesubackspace
. Označení pro další speciální klávesy jsou např:RET
,TAB
,LFD
,ESC
,SPC
- ↑ kill-ring označuje kruhovou frontu, do které se ukládají všechny vymazané části textu. Viz dále.
- ↑ 10,0 10,1 isearch označuje inkrementální (přírůstkové) vyhledávání: už během zadávání hledaného výrazu editor vyhledává odpovídající řetězce.
Současný stisk více kláves je zapsán pomocí spojovníku, např. C-a
nebo M-%
. Pro Emacs se jedná o jediný vstup, tzv. klávesu (key). Pokud k vykonání nějakého příkazu stačí takováto klávesa, nazývá se kompletní klávesa (complete key). V některých případech (např. uložení souboru nebo ukončení Emascu, viz výše) je nutno k provedení příkazu stisknout postupně více kláves. Pak se klávesa, která sama o sobě nespouští příkaz, ale je jen součástí delšího zadání příkazu, nazývá prefixová klávesa (prefix key).
Studijní zdroje na webu
[editovat]- EmacsWiki
- Manuály v angličtině v různých formátech
- Czech GNU Emacs Site
- Seriály na Root.cz:
- Stanislav Kuchár (2000): Emacs: viac než len editor (7 dílů)
- Jan Kohout (2001): Emacs pro mírně pokročilé (11 dílů)
- XEmacs