Files
emacs-org/notes/emacs-new-features.org

8.9 KiB

Nové featury Doom Emacs — testovací průvodce

Tento dokument popisuje všechny nové featury přidané do konfigurace. Po každé změně je nutný doom sync + restart Emacsu.

Prerekvizity

Než testuješ cokoli:

cd ~/.doom.d   # nebo kde máš doom config
doom sync

Pak restartuj Emacs. Bez toho nové balíčky nejsou dostupné.

1. link-hint — otevírání odkazů bez myši

Co dělá: zvýrazní všechny viditelné odkazy v bufferu a přiřadí jim jednopísmenné zkratky. Stisknutím písmene odkaz otevřeš nebo zkopíruješ URL.

Prerekvizita: doom sync dokončen.

Jak testovat:

  1. Otevři buffer s URL (Markdown, org, nebo jakýkoli text s http://)
  2. Stiskni SPC j k → link-hint zvýrazní všechny odkazy
  3. Stiskni písmeno vedle odkazu → odkaz se otevře v prohlížeči
  4. Pro kopírování URL: SPC j K → stiskni písmeno → URL je v clipboardu

Ověření: pokud SPC j k zobrazí barevné písmeno u každého odkazu, funguje.

2. Avy — skok na libovolné místo v bufferu

Co dělá: zvýrazní každý výskyt dvou zadaných znaků a skoční na vybrané místo bez pohybu myší.

Prerekvizita: Doom má avy v :editor snippets — je dostupný automaticky.

Jak testovat:

  1. Otevři soubor s textem
  2. Stiskni SPC j j → zadej dva znaky (např. th) → Avy zvýrazní shody
  3. Stiskni písmeno u cílového výskytu → kurzor skočí tam
  4. Pro skok na řádek: SPC j l → zadej písmeno u řádku → skok

Ověření: kurzor přeskočí na vybranou pozici bez scrollování.

3. olivetti-mode — klidný distraction-free mód

Co dělá: horizontálně centruje text na šířku 90 znaků a ukryje postranní rušivé prvky. Zapíná se ručně — automatické zapínání by rozbilo corfu.

Prerekvizita: doom sync, balíček olivetti nainstalován.

Jak testovat:

  1. Otevři org nebo Markdown soubor
  2. Stiskni SPC t o → text se vycentruje na střed okna
  3. Stiskni SPC t o znovu → vrátí se do normálního layoutu

Ověření: text se viditelně přesune od levého okraje do středu.

Důležité: olivetti nesmí být auto-zapnuto v org bufferech — pokud ho zapneš a pak otevřeš corfu popup, může se zobrazit mimo obrazovku. Zapínej/vypínej ručně dle potřeby.

4. org-modern — vylepšený vizuál org-mode

Co dělá: nahrazuje ASCII hvězdičky u nadpisů Unicode symboly (◉ ○ ✸ ✿), zvýrazňuje checkboxy. Aktivuje se pouze v souborech (ne v export bufferech).

Prerekvizita: doom sync, balíček org-modern nainstalován.

Jak testovat:

  1. Otevři libovolný .org soubor
  2. Nadpisy by měly mít místo *, ** atd.
  3. Checkboxy [ ] a [X] vypadají jinak

Ověření org exportu (klíčové):

  1. Otevři org soubor s tabulkou a nadpisy
  2. SPC m e l o (nebo C-c C-e l o) → PDF export
  3. Export musí proběhnout bez chyby
  4. Pokud export funguje, org-modern neinterferuje

Poznámka: org-modern-table je záměrně vypnuto — tabulkové overlaye mohou interferovat s LaTeX exportem.

5. org-fragtog — automatický náhled LaTeX fragmentů

Co dělá: když kurzor vstoupí do LaTeX fragmentu ($E=mc^2$), zobrazí ho jako obrázek; když kurzor odejde, fragment zůstane jako obrázek. Aktivuje se pouze v souborech, ne v export bufferech.

Prerekvizita: doom sync, org-fragtog nainstalován, funkční dvipng nebo imagemagick na macOS (brew install imagemagick).

Jak testovat:

  1. Otevři org soubor
  2. Napiš inline LaTeX: $E = mc^2$
  3. Pohni kurzorem ven z fragmentu → měl by se zobrazit jako obrázek
  4. Pohni kurzorem dovnitř → obrázek zmizí, zobrazí se zdrojový kód

Ověření: pokud dvipng není dostupný, org-fragtog selže tiše (žádné chybové hlášení, jen nefunguje preview).

Ověření org exportu: SPC m e l o musí stále fungovat.

6. org-super-agenda — skupiny v agenda view

Co dělá: rozděluje org agenda view do pojmenovaných skupin: Dnes, Brzy (do 3 dnů), Čekám, Projekt Kyndryl, ZTJ, Ostatní.

Prerekvizita: doom sync, org-super-agenda nainstalován.

Jak testovat:

  1. Otevři org agenda: SPC o A nebo C-c a a
  2. Agenda by měla zobrazovat skupiny s názvy místo plochého seznamu
  3. Položky s TODO WAIT by měly být ve skupině "Čekám"
  4. Položky s tagem :kyndryl: nebo :work: ve skupině "Projekt Kyndryl"

Ověření: viditelné nadpisy skupin v agenda bufferu.

7. org-noter — anotace PDF v org-mode

Co dělá: propojuje PDF soubor s org souborem poznámek. Stránkování PDF a org poznámek je synchronizováno.

Prerekvizita: doom sync, org-noter nainstalován, fungující pdf-tools (SPC m P pro otevření PDF přes pdf-view).

Jak testovat:

  1. Otevři PDF soubor (měl by se otevřít v pdf-view, ne v Preview)
  2. Stiskni SPC o n → spustí org-noter session
  3. Vytvoří nový org soubor poznámek, nebo vybere existující
  4. Posouvej PDF → org soubor se synchronizuje s aktuální stránkou
  5. Přidej poznámku: SPC o N → vloží org heading s pozicí v PDF

Ověření: org heading obsahuje :NOTER_PAGE: property s číslem stránky.

8. GPTel — rewrite regionu a org heading jako kontext

Co dělá: dvě nové funkce v GPTel:

  • SPC o g r → pošle označený region s instrukcí "vylepši text" a nahradí ho odpovědí
  • SPC o g p → pošle obsah aktuálního org headingu jako kontext do GPTel chatu

Prerekvizita: gptel funkční (SPC o g g otevírá chat).

Jak testovat (rewrite):

  1. Otevři soubor s textem
  2. Označ region (visual mode: v pak pohyb)
  3. Stiskni SPC o g r
  4. Počkej — region se nahradí vylepšenou verzí textu

Jak testovat (org heading):

  1. Otevři org soubor
  2. Postav kurzor do headingu se zápisem
  3. Stiskni SPC o g p → obsah headingu se pošle jako kontext do GPTel chatu

Ověření: zpráva GPTel: text vylepšen nebo GPTel: heading '...' odeslán v minibufferu.

9. git-link — kopírování URL na Gitea

Co dělá: zkopíruje URL aktuální souboru/řádku na Gitea instanci (git.apps.sukany.cz) do clipboardu.

Prerekvizita: doom sync, git-link nainstalován, soubor musí být v git repozitáři s remote na Gitea.

Jak testovat:

  1. Otevři soubor v emacs-doom nebo jiném Gitea repo
  2. Postav kurzor na konkrétní řádek
  3. Stiskni SPC g y → URL zkopírována do clipboardu
  4. Ověř pbpaste: otevři terminál, spusť pbpaste → mělo by být URL jako: https://git.apps.sukany.cz/martin/emacs-doom/src/branch/master/config.el#L42
  5. Pro URL commitu: SPC g Y

Ověření: URL v clipboardu odpovídá aktuálnímu souboru a řádku.

10. Forge — Gitea integrace v Magit

Co dělá: přidává pull request a issue management přímo do Magit. Forge musí vědět o Gitea instanci.

Prerekvizita: doom sync, API token v ~/.authinfo.

Nastavení tokenu:

  1. Přihlas se na https://git.apps.sukany.cz
  2. Settings → Applications → Generate new token (scope: repo)
  3. Přidej do ~/.authinfo (v domovském adresáři):

    machine git.apps.sukany.cz login daneel^forge password <TOKEN>
  4. Nastav oprávnění: chmod 600 ~/.authinfo

Jak testovat po nastavení tokenu:

  1. Otevři Magit: SPC g g
  2. Stiskni @ → Forge menu
  3. @ f → fetch forge data (PRy, issues)
  4. SPC g i → seznam issues pro aktuální repo

Ověření: bez tokenu Forge selže s chybou autentizace (očekávané chování). S tokenem zobrazí PRy a issues z Gitea.

Shrnutí klíčových keybindingů

Klávesa Funkce
SPC j k link-hint — otevři odkaz
SPC j K link-hint — kopíruj URL
SPC j j avy-goto-char-2
SPC j l avy-goto-line
SPC t o olivetti-mode toggle
SPC o n org-noter
SPC o N org-noter-insert-note
SPC o g r GPTel rewrite region
SPC o g p GPTel org heading jako kontext
SPC g y git-link (kopíruj URL)
SPC g Y git-link-commit

Řešení problémů

corfu nefunguje po olivetti

Pokud zapneš olivetti (SPC t o) a pak corfu popup zmizí nebo se zobrazí mimo obrazovku: vypni olivetti (SPC t o znovu) a corfu se vrátí. Olivetti mění vizuální marginy, corfu to nezvládne v kombinaci.

org export selže

Ověř že org-modern-mode není aktivní v export bufferu: M-x org-modern-mode v normálním org bufferu je OK. Pokud export stále selhává, zkus M-x org-modern-mode (toggle off) a exportuj znovu — pokud pak funguje, nahlás to.

org-fragtog nefunguje (LaTeX preview)

Vyžaduje imagemagick: brew install imagemagick Ověř: M-x org-toggle-latex-fragment — pokud to funguje, org-fragtog by měl fungovat taky.

Forge: "Invalid token"

Zkontroluj format ~/.authinfo — musí být přesně: machine git.apps.sukany.cz login daneel^forge password TOKEN (bez uvozovek, bez mezer navíc)