8.8 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
- 9. git-link – kopírování URL na Gitea
- 10. Forge – Gitea integrace v Magit
- Přehled kláves
- Řešení problémů
- emacs-new-features
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
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é org-format 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, soubor musí obsahovat [[...]] odkazy.
Jak testovat:
- Otevři org soubor který má
[[https://example.com]]nebo[[file:inbox.org]]odkazy - Stiskni
SPC j k– link-hint zvýrazní viditelné odkazy - Stiskni písmeno vedle odkazu – odkaz se otevře
- Pro kopírování URL:
SPC j K
Důležité: 'No links' je správná hláška když buffer nemá žádný [[...]] odkaz
viditelný na obrazovce. Index.org bez explicitních odkazů = žádné linky. Funguje
správně – není to chyba.
Příklady odkazů které link-hint najde:
[[https://example.com][Odkaz]]– HTTP odkaz[[file:inbox.org]]– soubor[[*Nadpis]]– interní odkaz v dokumentu
2. Avy – skok na libovolné místo v bufferu
Co dělá: zvýrazní každý výskyt dvou zadaných znaků a skočí na vybrané místo bez pohybu myši.
Prerekvizita: Doom má avy automaticky – dostupný bez doom sync.
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
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ů. Zapíná se ručně – automatické zapínání by rozbilo corfu completion popup.
Prerekvizita: doom sync, balík 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
Upozornění: Pokud zapneš olivetti a corfu popup zmizí nebo se zobrazí mimo obrazovku, vypni olivetti. Olivetti mění vizuální marginy a corfu pak počítá špatné souřadnice popupu.
4. org-modern – vylepšený vizuál org-mode
Co dělá: nahradí hvězdičky u nadpisů Unicode symboly (okrouhlými tvary), zvýrazní checkboxy. Aktivuje se automaticky po loadu org-modern balíčku.
Prerekvizita: doom sync, balík org-modern nainstalován.
Jak testovat:
- Otevři libovolný
.orgsoubor (např. inbox.org) - Nadpisy by měly mít jinak vypadající hvězdičky
- Checkboxy
[ ]a[X]vypadají jinak
Pokud org-modern nefunguje na už otevřený soubor: spusť M-x org-modern-mode
ručně nebo zavři a znovu otevři soubor. Konfigurace zajišťuje aktivaci i pro už
otevřené buffery při loadu balíčku.
Ověření org exportu (klíčové):
- Otevři org soubor s tabulkou a nadpisy
SPC m e l oneboC-c C-e l o– PDF export- Export musí proběhnout bez chyby
org-modern-tableje vypnuto – tabulkové overlaye by mohly interferovat
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.
Prerekvizita: doom sync, org-fragtog nainstalován, funkční dvipng
nebo imagemagick: brew install imagemagick.
Jak testovat:
- Otevři org soubor
- Napiš
$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
Pokud dvipng není dostupný, org-fragtog selže tiše. Zkontroluj:
M-x org-toggle-latex-fragment
6. org-super-agenda – skupiny v agenda view
Co dělá: rozdělí org agenda view do skupin: Dnes, Čekám, Kyndryl, ZTJ, Ostatní.
Prerekvizita: doom sync, org-super-agenda nainstalován.
Skupiny:
- Dnes: položky se SCHEDULED nebo DEADLINE dnes
- Čekám: položky s TODO stavem WAIT
- Kyndryl: tag
:kyndryl:nebo:work: - ZTJ: tag
:ztj: - Ostatní: všechno co nezapadne do předchozích skupin
Jak testovat:
- Otevři org agendu:
SPC o AneboC-c a a - Agenda by měla zobrazovat skupiny s názvy
- Položky s TODO
WAITve skupině "Čekám"
Pokud agenda zobrazuje prázdnou stránku: Spusť M-x org-super-agenda-mode
pro aktivaci, nebo zkontroluj že doom sync byl dokončen.
7. org-noter – anotace PDF v org-mode
Co dělá: propojuje PDF soubor s org souborem poznámek. Stránkování je synchronizováno.
Prerekvizita: doom sync, org-noter nainstalován, PDF otevírá se v 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 - 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.
8. GPTel – rewrite regionu a org heading
Co dělá:
SPC o g r– pošle označený region do GPTel 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 funguje (SPC o g g otevírá chat).
Jak testovat (rewrite):
- Otevři soubor s textem
- Označ region (visual mode:
v) SPC o g r– počkat – region se nahradí vylepšením- Zpráva:
GPTel: text vylepšenv minibufferu
Jak testovat (org heading):
- Otevři org soubor
- Postav kurzor do headingu
SPC o g p– obsah headingu odeslán do GPTel chatu
9. git-link – kopírování URL na Gitea
Co dělá: zkopíruje URL aktuálního souboru/řádku na Gitea do clipboardu.
Prerekvizita: doom sync, soubor musí být v git repo s remote na Gitea.
Jak testovat:
- Otevři soubor v emacs-doom nebo jiném Gitea repo
- Postav kurzor na konkrétní řádek
SPC g y– URL zkopírována do clipboardu- Zkontroluj:
pbpastev terminálu
Ověření: URL odpovídá aktuálnímu souboru a řádku na git.apps.sukany.cz.
10. Forge – Gitea integrace v Magit
Co dělá: přidává pull request a issue management do Magit.
Prerekvizita: doom sync, API token v ~/.authinfo.
Nastavení tokenu:
- Přihlásit se na
https://git.apps.sukany.cz - Settings -> Applications -> Generate new token (scope:
repo) -
Přidat do
~/.authinfo:machine git.apps.sukany.cz login daneel^forge password <TOKEN>
chmod 600 ~/.authinfo
Jak testovat:
- Otevři Magit:
SPC g g - Stiskni
@– Forge menu @ f– fetch forge data (PRy, issues)
Poznámka: Bez tokenu Forge selže s chybou autentizace (očekávané chování).
Přehled kláves
| 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 -> kontext |
| SPC g y | git-link (kopíruj URL) |
| SPC g Y | git-link-commit |
Řešení problémů
link-hint říká 'No links'
Normální chování když buffer nemá žádný [[...]] odkaz viditelný na obrazovce.
Testuj na org souboru který obsahuje [[https://...]] nebo [[file:...]] linky.
corfu nefunguje po olivetti
Vypni olivetti (SPC t o). Olivetti mění vizuální marginy, corfu popup pak
má špatné souřadnice.
org-modern nefunguje
Spusť doom sync + restartuj Emacs. Pokud stále ne: M-x org-modern-mode
nebo zavři a otevři soubor znovu.
org export selže s Unicode varováním
Zkontroluj svůj .org soubor na Unicode znaky mimo Latin-1:
python3 -c "
with open('tvuj-soubor.org') as f:
for i, line in enumerate(f, 1):
for ch in line:
if ord(ch) > 255:
print(f'radek {i}: U+{ord(ch):04X} {repr(ch)}')
break
"
Smazání nebo nahrazení těchto znaků vyřeší problém.
org-super-agenda zobrazuje prázdnou agendu
Spusť M-x org-super-agenda-mode pro ruční aktivaci.
Zkontroluj že org soubory mají položky se SCHEDULED nebo DEADLINE.
Forge: 'Invalid token'
Zkontroluj formát ~/.authinfo – žádné uvozovky, žádné mezery navíc:
machine git.apps.sukany.cz login daneel^forge password TOKEN