8.9 KiB
Nové featury Doom Emacs — testovací průvodce
- Prerekvizity
- 1. link-hint — otevírání odkazů bez myši
- 2. Avy — skok na libovolné místo v bufferu
- 3. olivetti-mode — klidný distraction-free mód
- 4. org-modern — vylepšený vizuál org-mode
- 5. org-fragtog — automatický náhled LaTeX fragmentů
- 6. org-super-agenda — skupiny v agenda view
- 7. org-noter — anotace PDF v org-mode
- 8. GPTel — rewrite regionu a org heading jako kontext
- 9. git-link — kopírování URL na Gitea
- 10. Forge — Gitea integrace v Magit
- Shrnutí klíčových keybindingů
- Řešení problémů
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:
- Otevři buffer s URL (Markdown, org, nebo jakýkoli text s http://)
- Stiskni
SPC j k→ link-hint zvýrazní všechny odkazy - Stiskni písmeno vedle odkazu → odkaz se otevře v prohlížeči
- 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:
- Otevři soubor s textem
- Stiskni
SPC j j→ zadej dva znaky (např.th) → Avy zvýrazní shody - Stiskni písmeno u cílového výskytu → kurzor skočí tam
- 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:
- Otevři org nebo Markdown soubor
- Stiskni
SPC t o→ text se vycentruje na střed okna - Stiskni
SPC t oznovu → 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:
- Otevři libovolný
.orgsoubor - Nadpisy by měly mít místo
*→◉,**→○atd. - Checkboxy
[ ]a[X]vypadají jinak
Ověření org exportu (klíčové):
- Otevři org soubor s tabulkou a nadpisy
SPC m e l o(neboC-c C-e l o) → PDF export- Export musí proběhnout bez chyby
- 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:
- Otevři org soubor
- Napiš inline LaTeX:
$E = mc^2$ - Pohni kurzorem ven z fragmentu → měl by se zobrazit jako obrázek
- 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:
- Otevři org agenda:
SPC o AneboC-c a a - Agenda by měla zobrazovat skupiny s názvy místo plochého seznamu
- Položky s TODO
WAITby měly být ve skupině "Čekám" - 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:
- Otevři PDF soubor (měl by se otevřít v pdf-view, ne v Preview)
- Stiskni
SPC o n→ spustí org-noter session - Vytvoří nový org soubor poznámek, nebo vybere existující
- Posouvej PDF → org soubor se synchronizuje s aktuální stránkou
- 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):
- Otevři soubor s textem
- Označ region (visual mode:
vpak pohyb) - Stiskni
SPC o g r - Počkej — region se nahradí vylepšenou verzí textu
Jak testovat (org heading):
- Otevři org soubor
- Postav kurzor do headingu se zápisem
- 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:
- Otevři soubor v emacs-doom nebo jiném Gitea repo
- Postav kurzor na konkrétní řádek
- Stiskni
SPC g y→ URL zkopírována do clipboardu - 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 - 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:
- Přihlas se na
https://git.apps.sukany.cz - Settings → Applications → Generate new token (scope:
repo) -
Přidej do
~/.authinfo(v domovském adresáři):machine git.apps.sukany.cz login daneel^forge password <TOKEN> - Nastav oprávnění:
chmod 600 ~/.authinfo
Jak testovat po nastavení tokenu:
- Otevři Magit:
SPC g g - Stiskni
@→ Forge menu @ f→ fetch forge data (PRy, issues)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)