Files
emacs-org/notes/emacs-extensions.org
Martin Sukany b6b2dea7ec fix
2026-02-24 20:36:31 +01:00

17 KiB

Emacs Extensions — Instalace a Workflow

Přehled keybindings

Klávesa Příkaz Popis
SPC o c org-caldav-sync Sync kalendáře s CalDAV
SPC o k kubel Kubernetes management
SPC o C cfw:open-org-calendar Vizuální kalendář
SPC u vundo Vizuální undo tree
SPC s e iedit-mode Editace všech výskytů
SPC s q org-ql-search Org-ql dotaz
SPC s Q org-ql-view Org-ql uložené pohledy
SPC n r u org-roam-ui-mode Org-roam graf v prohlížeči
SPC b b citar-open Otevřít referenci
SPC b i citar-insert-citation Vložit citaci
SPC b n citar-open-notes Poznámky k článku
SPC b r citar-refresh Obnovit bibliografii
SPC t g langtool-check Kontrola gramatiky
SPC t G langtool-check-done Zrušit zvýraznění gramatiky
, C i org-clock-in Začít měřit čas (org)
, C o org-clock-out Ukončit měření
, C r org-clock-report Výpis odpracovaného času
, A s org-anki-sync-entry Sync heading do Anki
, A S org-anki-sync-all Sync vše do Anki
C-M-n/p combobulate-navigate Navigace po AST uzlech
C-M-u/d combobulate-navigate Nahoru/dolů v AST

Tier 1 — Vysoký dopad

org-caldav — Sync s CalDAV

Obousměrná synchronizace org souborů s CalDAV serverem. Události z org se promítnou do kalendáře a naopak.

Instalace

Balíček je v packages.el, konfigurace v config.el. Server: cal.apps.sukany.cz, uživatel martin@sukany.cz. Heslo v ~/.openclaw/.env ($CALDAV_PASSWORD).

Keybindings

Klávesa Příkaz Popis
SPC o c org-caldav-sync Spustit sync

Příklad workflow

  1. Otevři ~/org/personal.org, přidej heading s datem: * Schůzka <2026-03-01 Sun 14:00-15:00>
  2. SPC o c — sync s CalDAV
  3. Událost se objeví v kalendáři na cal.apps.sukany.cz
  4. Změny z kalendáře se stáhnou do ~/org/caldav-inbox.org

Tipy

  • Sync směr je twoway — funguje oběma směry
  • caldav-inbox.org slouží jako přijímací soubor pro nové události ze serveru
  • Před prvním syncnem vytvoř ~/org/caldav-inbox.org (prázdný soubor stačí)

envrc — Per-project prostředí

Automaticky načítá .envrc soubory přes direnv při vstupu do projektového adresáře. Proměnné prostředí se nastaví per-buffer.

Instalace

# direnv musí být nainstalovaný
brew install direnv  # macOS
sudo apt install direnv  # Debian/Ubuntu

Balíček se aktivuje globálně po startu Emacsu.

Příklad workflow

  1. V kořeni projektu vytvoř .envrc: export DATABASE_URL=postgres://...
  2. direnv allow v shellu
  3. Otevři soubor z projektu v Emacsu — envrc automaticky nastaví proměnné
  4. M-x envrc-show ukáže aktuální prostředí bufferu

Tipy

  • Funguje per-buffer, ne globálně — různé projekty mají různé proměnné
  • Kombinuj s .env soubory přes dotenv layout v .envrc

embark — Kontextové akce

Doom vertico modul embark zahrnuje. Embark nabízí kontextové akce nad aktuálním cílem (soubor, symbol, URL) v minibufferu nebo v bufferu.

Keybindings

Doom výchozí: C-. v minibufferu nebo bufferu spustí embark-act. Prompter nastaven na embark-keymap-prompter — zobrazí klávesovou mapu dostupných akcí.

Příklad workflow

  1. SPC f f (find file) — začni psát název souboru
  2. C-. na kandidátovi — embark ukáže akce: otevřít, smazat, kopírovat cestu, grep…
  3. Vyber akci klávesou (např. d pro delete, c pro copy)

Tipy

  • C-; = embark-dwim (provede nejpravděpodobnější akci rovnou)
  • Funguje i mimo minibuffer — na symbolu v kódu nabídne dokumentaci, definici

wgrep — Editovatelný grep

Umožňuje editovat výsledky grepu přímo v grep bufferu a uložit změny do všech souborů najednou.

Příklad workflow

  1. SPC s p (project search) — hledej old_function
  2. V grep bufferu: C-c C-p (wgrep-change-to-wgrep-mode)
  3. Použij :%s/old_function/new_function/g (evil substitute)
  4. C-c C-c — uloží změny do všech souborů
  5. C-c C-k — zruší změny

Tipy

  • wgrep-auto-save-buffer je zapnutý — soubory se uloží automaticky po C-c C-c
  • Kombinuj s SPC s p (ripgrep) pro refactoring přes celý projekt

kubel — Kubernetes management

Interaktivní rozhraní pro správu Kubernetes zdrojů přímo z Emacsu. Cluster: infra01.sukany.cz, přístup přes kubeconfig.

Keybindings

Klávesa Příkaz Popis
SPC o k kubel Otevřít kubel
g kubel-get-resource-details Detail zdroje
E kubel-exec-pod Exec do podu
l kubel-get-pod-logs Logy podu
d kubel-describe-resource Describe
D kubel-delete-resource Smazat zdroj

Příklad workflow

  1. SPC o k — otevře kubel s aktuálním kontextem
  2. Vyber namespace (kubel zobrazí seznam)
  3. l na podu — zobrazí logy
  4. E na podu — otevře shell v podu přes vterm

Tipy

  • Kubeconfig musí být správně nastaven (~/.kube/config nebo $KUBECONFIG)
  • Pro přepínání kontextů použij kubel-set-context

Tier 2 — Kvalita života

org-clock — Sledování času

Vestavěná funkce org-mode pro sledování času stráveného na úkolech. Konfigurace přidává persistenci a přehledný reporting.

Keybindings

Klávesa Příkaz Popis
, C i org-clock-in Začít měřit
, C o org-clock-out Ukončit
, C r org-clock-report Tabulka odpracovaného
, C d org-clock-display Zobrazit časy v bufferu

Příklad workflow

  1. Na org heading: , C i — začne měření
  2. Pracuj na úkolu
  3. , C o — ukončí měření, zapíše LOGBOOK
  4. , C r — vloží clocktable s přehledem časů

Tipy

  • org-clock-persist ukládá stav přes restart Emacsu
  • Formát h:mm — hodiny a minuty, ne dny
  • Nulové záznamy se automaticky mažou

combobulate — Strukturální editace

Tree-sitter navigace a editace po syntaktických uzlech. Funguje v Pythonu, Go, JS, TypeScriptu.

Keybindings

Klávesa Příkaz Popis
C-M-n combobulate-navigate-next Další sourozenec
C-M-p combobulate-navigate-previous Předchozí sourozenec
C-M-u combobulate-navigate-up Rodičovský uzel
C-M-d combobulate-navigate-down Potomek

Příklad workflow

  1. Otevři Python soubor s funkcemi
  2. Kurzor na defC-M-n přeskočí na další funkci
  3. C-M-u — přejde na třídu obsahující funkci
  4. C-M-d — vstoupí do prvního potomka (první metoda)

Tipy

  • Vyžaduje tree-sitter gramatiky pro daný jazyk
  • V Go funguje na func, if, for blocích

iedit — Editace více výskytů

Označí všechny výskyty slova pod kurzorem a umožní je editovat simultánně.

Keybindings

Klávesa Příkaz Popis
SPC s e iedit-mode Zapnout/vypnout iedit

Příklad workflow

  1. Kurzor na proměnné counter
  2. SPC s e — všechny výskyty counter se zvýrazní
  3. Edituj — změna se projeví na všech místech najednou
  4. SPC s e znovu — ukončí iedit

Tipy

  • Pro omezení rozsahu: nejdřív vyber region, pak SPC s e
  • Kombinuj s C-; (embark) pro komplexnější refactoring

vundo — Vizuální undo

Zobrazí undo historii jako strom s větvemi. Umožňuje navigovat mezi různými stavy souboru.

Keybindings

Klávesa Příkaz Popis
SPC u vundo Otevřít undo tree

Příklad workflow

  1. Udělej několik změn v souboru (edituj, undo, edituj jinak)
  2. SPC u — zobrazí se strom s větvemi
  3. Šipkami naviguj mezi stavy, RET potvrdí vybraný stav
  4. q zavře vundo

Tipy

  • Unicode symboly pro přehledný strom (vundo-unicode-symbols)
  • Doom undo modul zajišťuje undo-fu — vundo ho doplňuje vizuální navigací

breadcrumb — Kontext v header-line

Zobrazuje aktuální pozici v kódu (funkce, třída, metoda) v header-line bufferu.

Příklad workflow

Automaticky se aktivuje v prog-mode a cperl-mode. Při navigaci kódem vidíš v horní liště např. MyClass > my_method > if block.

Tipy

  • Nepotřebuje LSP — pracuje s imenu
  • Užitečné při navigaci ve velkých souborech

Tier 3 — Doplňkové

org-anki — Anki flashcards

Exportuje org headings jako Anki kartičky. Heading = přední strana, obsah = zadní strana.

Keybindings

Klávesa Příkaz Popis
, A s org-anki-sync-entry Sync aktuální heading
, A S org-anki-sync-all Sync vše
, A d org-anki-delete-entry Smazat kartičku

Příklad workflow

  1. V org souboru:

    * Co je CIDR notace?
    Způsob zápisu IP adres s prefixem sítě, např. 192.168.1.0/24.
    
  2. , A s — sync do Anki decku "Emacs"
  3. Anki musí běžet s AnkiConnect pluginem

Tipy

  • Výchozí deck: "Emacs" — změň v konfiguraci podle potřeby
  • Anki + AnkiConnect musí běžet lokálně (port 8765)

org-ql — Query language pro org

Vyhledávání v org souborech pomocí s-expression dotazů. Silnější než org-agenda filtry.

Keybindings

Klávesa Příkaz Popis
SPC s q org-ql-search Interaktivní dotaz
SPC s Q org-ql-view Uložené pohledy

Příklad workflow

  1. SPC s q — zadej dotaz:

    (and (todo "TODO") (tags "work") (deadline :to today))
    
  2. Zobrazí se všechny pracovní TODO s deadline dnes
  3. Plain-text syntax funguje taky: todo:TODO tags:work deadline:to=today

Tipy

  • Kombinuj s org-ql-view pro ukládání častých dotazů
  • Podporuje regulární výrazy v regexp predikátu

calfw — Vizuální kalendář

Zobrazuje org-agenda události v měsíčním kalendáři.

Keybindings

Klávesa Příkaz Popis
SPC o C cfw:open-org-calendar Otevřít kalendář

Příklad workflow

  1. SPC o C — otevře měsíční pohled
  2. Šipky pro navigaci mezi dny/týdny
  3. Události z org-agenda se zobrazí v buňkách

Tipy

  • Po org-caldav sync zobrazí i události z CalDAV serveru
  • M přepne na měsíční, W na týdenní pohled

org-roam-ui — Graf poznámek

Webové rozhraní zobrazující graf propojení org-roam poznámek v prohlížeči.

Keybindings

Klávesa Příkaz Popis
SPC n r u org-roam-ui-mode Spustit/zastavit UI

Příklad workflow

  1. SPC n r u — spustí lokální server
  2. Otevře se prohlížeč s interaktivním grafem
  3. Kliknutí na uzel otevře poznámku v Emacsu
  4. Graf se aktualizuje při ukládání souborů

Tipy

  • Synchronizuje téma s Emacsem (org-roam-ui-sync-theme)
  • Sleduje aktuální buffer (org-roam-ui-follow)

dirvish — Moderní správce souborů

Nahrazuje dired moderním rozhraním s náhledy, ikonami a git integrací.

Keybindings

Klávesa Příkaz Popis
h dired-up-directory Nahoru
l dired-find-file Otevřít
s dirvish-quicksort Řazení
TAB dirvish-subtree-toggle Rozbalit/sbalit adresář
q dirvish-quit Zavřít
M-f dirvish-history-go-forward Historie vpřed
M-b dirvish-history-go-backward Historie zpět

Příklad workflow

  1. SPC . (find file) nebo SPC o - (dired) — dirvish přebírá dired
  2. TAB na adresáři — rozbalí obsah inline (subtree)
  3. h/l navigace jako v rangeru
  4. Git status se zobrazuje ikonami vedle souborů

Tipy

  • Atributy zahrnují nerd-icons, git-msg, file-time, file-size
  • Boční panel: 35 znaků šířka

BibTeX / Citar — Správa literatury

Citar je součástí Doom biblio modulu. Slouží ke správě bibliografických referencí, citací a poznámek k článkům.

Instalace a setup

Citar je nainstalován automaticky (Doom biblio modul v init.el). Konfigurace:

  • Bibliografie: ~/org/references.bib
  • Poznámky: ~/org/notes/
  • PDF články: ~/org/papers/

Vytvoř tyto adresáře a references.bib soubor:

mkdir -p ~/org/notes ~/org/papers
touch ~/org/references.bib

Keybindings

Klávesa Příkaz Popis
SPC b b citar-open Otevřít referenci
SPC b i citar-insert-citation Vložit citaci
SPC b n citar-open-notes Poznámky k článku
SPC b r citar-refresh Obnovit bibliografii

Workflow: citace v org dokumentech

  1. Stáhni BibTeX záznam článku (z Google Scholar, DOI…)
  2. Vlož do ~/org/references.bib
  3. V org dokumentu: SPC b i — vyber referenci z minibufferu
  4. Citar vloží citační klíč: [cite:@author2024]

Workflow: poznámky k článkům

  1. SPC b b — otevře PDF článku z ~/org/papers/
  2. SPC b n — otevře/vytvoří poznámkový soubor v ~/org/notes/
  3. Kombinuj s org-noter pro anotace přímo v PDF

Tipy

  • BibTeX soubory exportuj z Zotero nebo přímo z Google Scholar
  • SPC b r po přidání nových záznamů do .bib souboru

Grammar check (LanguageTool)

LanguageTool kontroluje gramatiku a styl textu. Podporuje češtinu.

Instalace

# Stáhni LanguageTool
mkdir -p ~/languagetool
cd ~/languagetool
wget https://languagetool.org/download/LanguageTool-stable.zip
unzip LanguageTool-stable.zip
# JAR musí být na ~/languagetool/languagetool-commandline.jar

Keybindings

Klávesa Příkaz Popis
SPC t g langtool-check Zkontrolovat buffer
SPC t G langtool-check-done Zrušit zvýraznění

Příklad workflow

  1. Napiš text v org nebo markdown
  2. SPC t g — LanguageTool zvýrazní chyby
  3. Kurzor na chybu — zobrazí návrh opravy
  4. SPC t G — vyčistí zvýraznění po opravách

Tipy

  • Výchozí jazyk: čeština (cs)
  • Pro anglické texty: M-x langtool-check s argumentem "en"
  • Vyžaduje Javu (JRE)

Obecné tipy pro kombinaci nástrojů

  • Refactoring: SPC s p (ripgrep) → C-c C-p (wgrep) → edituj → C-c C-c uloží do všech souborů
  • Org workflow: org-caldav sync (SPC o c) → calfw zobrazení (SPC o C) → org-clock měření (, C i)
  • Studium: citar otevře článek (SPC b b) → org-noter anotace (SPC o n) → org-anki kartičky (, A s)
  • Code navigation: breadcrumb v header-line + combobulate (C-M-n/p/u/d) + iedit (SPC s e)
  • Kubernetes: kubel (SPC o k) + envrc pro per-project kubeconfig