8.4 KiB
Nove featury Doom Emacs – testovaci pruvodce
- Prerekvizity
- 1. link-hint – otevirani odkazu bez mysi
- 2. Avy – skok na libovolne misto v bufferu
- 3. olivetti-mode – klidny distraction-free mod
- 4. org-modern – vylepseny vizual org-mode
- 5. org-fragtog – automaticky nahled LaTeX fragmentu
- 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 – kopiovani URL na Gitea
- 10. Forge – Gitea integrace v Magit
- Prehled klaves
- Reseni problemu
- emacs-new-features
Tento dokument popisuje vsechny nove featury pridane do konfigurace.
Po kazde zmene je nutny doom sync + restart Emacsu.
Prerekvizity
Nez testuje cokoli:
cd ~/.doom.d
doom sync
Pak restartuj Emacs. Bez toho nove balicky nejsou dostupne.
1. link-hint – otevirani odkazu bez mysi
Co dela: zvyrazni vsechny viditelne org-format odkazy v bufferu a prirad jim jednopismenne zkratky. Stisknutim pismene odkaz otevres nebo zkopirujes URL.
Prerekvizita: doom sync dokoncen, soubor musi obsahovat [[...]] odkazy.
Jak testovat:
- Otevri org soubor ktery ma
[[https://example.com]]nebo[[file:inbox.org]]odkazy - Stiskni
SPC j k– link-hint zvyrazni viditelne odkazy - Stiskni pismeno vedle odkazu – odkaz se otevri
- Pro kopiovani URL:
SPC j K
Dulezite: 'No links' je spravna hlaska kdyz buffer nema zadny [[...]] odkaz
viditelny na obrazovce. Index.org bez explicitu odkazu = zadne linky. Funguje
spravne – neni to chyba.
Priklady odkazu ktere link-hint najde:
[[https://example.com][Odkaz]]– HTTP odkaz[[file:inbox.org]]– soubor[[*Nadpis]]– interni odkaz v dokumentu
2. Avy – skok na libovolne misto v bufferu
Co dela: zvyrazni kazdy vyskyt dvou zadanych znaku a skoci na vybrane misto bez pohybu mysi.
Prerekvizita: Doom ma avy automaticky – dostupny bez doom sync.
Jak testovat:
- Otevri soubor s textem
- Stiskni
SPC j j– zadej dva znaky (napr.th) – Avy zvyrazni shody - Stiskni pismeno u ciloveho vyskytu – kurzor skoci tam
- Pro skok na radek:
SPC j l– zadej pismeno u radku
Overeni: kurzor preskoci na vybranou pozici bez scrollovani.
3. olivetti-mode – klidny distraction-free mod
Co dela: horizontalne centruje text na sirku 90 znaku. Zapina se rucne – automaticke zapinani by rozbilo corfu completion popup.
Prerekvizita: doom sync, balik olivetti nainstalovan.
Jak testovat:
- Otevri org nebo Markdown soubor
- Stiskni
SPC t o– text se vycentruje na stred okna - Stiskni
SPC t oznovu – vrati se do normalniho layoutu
Upozorneni: Pokud zapnes olivetti a corfu popup zmizi nebo se zobrazi mimo obrazovku, vypni olivetti. Olivetti meni vizualni marginy a corfu pak pocita spatne souradnice popupu.
4. org-modern – vylepseny vizual org-mode
Co dela: nahradi hvezdicky u nadpisu Unicode symboly (okrouhlymi tvary), zvyrazni checkboxy. Aktivuje se automaticky po loadu org-modern balicku.
Prerekvizita: doom sync, balik org-modern nainstalovan.
Jak testovat:
- Otevri libovolny
.orgsoubor (napr. inbox.org) - Nadpisy by mely mit jinak vyzerajici hvezdicky
- Checkboxy
[ ]a[X]vypadaji jinak
Pokud org-modern nefunguje na uz otevreny soubor: spust M-x org-modern-mode
rucne nebo zavre a znovu otevri soubor. Konfigu zajistuje aktivaci i pro uz
otevrene buffery pri loadu balicku.
Overeni org exportu (klicove):
- Otevri org soubor s tabulkou a nadpisy
SPC m e l oneboC-c C-e l o– PDF export- Export musi probehnou bez chyby
org-modern-tableje vypnuto – tabulkove overlaye by mohly interferovat
5. org-fragtog – automaticky nahled LaTeX fragmentu
Co dela: kdyz kurzor vstoupi do LaTeX fragmentu ($E=mc^2$), zobrazi
ho jako obrazek; kdyz kurzor odejde, fragment zustane jako obrazek.
Prerekvizita: doom sync, org-fragtog nainstalovan, funkci dvipng
nebo imagemagick: brew install imagemagick.
Jak testovat:
- Otevri org soubor
- Napis
$E = mc^2$ - Pohni kurzorem ven z fragmentu – mel by se zobrazit jako obrazek
- Pohni kurzorem dovnitr – obrazek zmizi, zobrazi se zdrojovy kod
Pokud dvipng neni dostupny, org-fragtog selze tise. Zkontroluj:
M-x org-toggle-latex-fragment
6. org-super-agenda – skupiny v agenda view
Co dela: rozdeli org agenda view do skupin: Dnes, Cekam, Kyndryl, ZTJ, Ostatni.
Prerekvizita: doom sync, org-super-agenda nainstalovan.
Skupiny:
- Dnes: polozky se SCHEDULED nebo DEADLINE dnes
- Cekam: polozky s TODO stavem WAIT
- Kyndryl: tag
:kyndryl:nebo:work: - ZTJ: tag
:ztj: - Ostatni: vsechno co nezapadne do predchozich skupin
Jak testovat:
- Otevri org agenda:
SPC o AneboC-c a a - Agenda by mela zobrazovat skupiny s nazvy
- Polozky s TODO
WAITve skupine "Cekam"
Pokud agenda zobrazuje prazdnou stranku: Spust M-x org-super-agenda-mode
pro aktivaci, nebo zkontroluj ze doom sync byl dokoncen.
7. org-noter – anotace PDF v org-mode
Co dela: propojuje PDF soubor s org souborem poznamek. Strankovani je synchronizovano.
Prerekvizita: doom sync, org-noter nainstalovan, PDF otvira se v pdf-view.
Jak testovat:
- Otevri PDF soubor – mel by se otevrit v pdf-view, ne v Preview
- Stiskni
SPC o n– spusti org-noter session - Posouvej PDF – org soubor se synchronizuje s aktualni strankou
- Pridej poznamku:
SPC o N– vlozi org heading s pozici v PDF
Overeni: org heading obsahuje :NOTER_PAGE: property.
8. GPTel – rewrite regionu a org heading
Co dela:
SPC o g r– posle oznaceny region do GPTel s instrukci "vyleps text" a nahradi ho odpovediSPC o g p– posle obsah aktualu org headingu jako kontext do GPTel chatu
Prerekvizita: gptel funkci (SPC o g g otevira chat).
Jak testovat (rewrite):
- Otevri soubor s textem
- Oznac region (visual mode:
v) SPC o g r– pockat – region se nahradi vylepsenim- Zprava:
GPTel: text vylepsenv minibufferu
Jak testovat (org heading):
- Otevri org soubor
- Postav kurzor do headingu
SPC o g p– obsah headingu odeslan do GPTel chatu
9. git-link – kopiovani URL na Gitea
Co dela: zkopiruje URL aktualniho souboru/radku na Gitea do clipboardu.
Prerekvizita: doom sync, soubor musi byt v git repo s remote na Gitea.
Jak testovat:
- Otevri soubor v emacs-doom nebo jinem Gitea repo
- Postav kurzor na konkretni radek
SPC g y– URL zkopirovna do clipboardu- Zkontroluj:
pbpastev terminalu
Overeni: URL odpovida aktualnimu souboru a radku na git.apps.sukany.cz.
10. Forge – Gitea integrace v Magit
Co dela: pridava pull request a issue management do Magit.
Prerekvizita: doom sync, API token v ~/.authinfo.
Nastaveni tokenu:
- Prihlasit se na
https://git.apps.sukany.cz - Settings -> Applications -> Generate new token (scope:
repo) -
Pridat do
~/.authinfo:machine git.apps.sukany.cz login daneel^forge password <TOKEN>
chmod 600 ~/.authinfo
Jak testovat:
- Otevri Magit:
SPC g g - Stiskni
@– Forge menu @ f– fetch forge data (PRy, issues)
Poznamka: Bez tokenu Forge selze s chybou autentizace (ocekavane chovani).
Prehled klaves
| Klavesa | Funkce |
|---|---|
| SPC j k | link-hint – otevri odkaz |
| SPC j K | link-hint – kopiruj 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 (kopiruj URL) |
| SPC g Y | git-link-commit |
Reseni problemu
link-hint rika 'No links'
Normalni chovani kdyz buffer nema zadny [[...]] odkaz viditelny na obrazovce.
Testuj na org souboru ktery obsahuje [[https://...]] nebo [[file:...]] linky.
corfu nefunguje po olivetti
Vypni olivetti (SPC t o). Olivetti meni vizualni marginy, corfu popup pak
ma spatne souradnice.
org-modern nefunguje
Spust doom sync + restartuj Emacs. Pokud stale ne: M-x org-modern-mode
nebo zavre a otevri soubor znovu.
org export selze s Unicode varovanim
Zkontroluj svuj .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
"
Smazani nebo nahrazeni techto znaku vyresi problem.
org-super-agenda zobrazuje prazdnou agendu
Spust M-x org-super-agenda-mode pro rucni aktivaci.
Zkontroluj ze org soubory maji polozky se SCHEDULED nebo DEADLINE.
Forge: 'Invalid token'
Zkontroluj format ~/.authinfo – zadne uvozovky, zadne mezery navic:
machine git.apps.sukany.cz login daneel^forge password TOKEN