docs: emacs-new-features -- pure ASCII, aktualizovane popisy

This commit is contained in:
2026-02-23 19:04:54 +01:00
parent db0cfc9a5f
commit 0d7b8bcfe5

View File

@@ -1,244 +1,250 @@
#+TITLE: Nové featury Doom Emacs testovací průvodce
#+TITLE: Nove featury Doom Emacs -- testovaci pruvodce
#+DATE: 2026-02-23
#+AUTHOR: Daneel
Tento dokument popisuje všechny nové featury přidané do konfigurace.
Po každé změně je nutný =doom sync= + restart Emacsu.
Tento dokument popisuje vsechny nove featury pridane do konfigurace.
Po kazde zmene je nutny =doom sync= + restart Emacsu.
* Prerekvizity
Než testuješ cokoli:
Nez testuje cokoli:
#+begin_src sh
cd ~/.doom.d # nebo kde máš doom config
cd ~/.doom.d
doom sync
#+end_src
Pak restartuj Emacs. Bez toho nové balíčky nejsou dostupné.
Pak restartuj Emacs. Bez toho nove balicky nejsou dostupne.
* 1. link-hint otevírání odkazů bez myši
* 1. link-hint -- otevirani odkazu bez mysi
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.
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= dokončen.
Prerekvizita: =doom sync= dokoncen, soubor musi obsahovat =[[...]]= odkazy.
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
1. Otevri org soubor ktery ma =[[https://example.com]]= nebo =[[file:inbox.org]]= odkazy
2. Stiskni =SPC j k= -- link-hint zvyrazni viditelne odkazy
3. Stiskni pismeno vedle odkazu -- odkaz se otevri
4. Pro kopiovani URL: =SPC j K=
Ověření: pokud =SPC j k= zobrazí barevné písmeno u každého odkazu, funguje.
*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.
* 2. Avy — skok na libovolné místo v bufferu
Priklady odkazu ktere link-hint najde:
- =[[https://example.com][Odkaz]]= -- HTTP odkaz
- =[[file:inbox.org]]= -- soubor
- =[[*Nadpis]]= -- interni odkaz v dokumentu
Co dělá: zvýrazní každý výskyt dvou zadaných znaků a skoční na vybrané
místo bez pohybu myší.
* 2. Avy -- skok na libovolne misto v bufferu
Prerekvizita: Doom má avy v =:editor snippets= — je dostupný automaticky.
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:
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
1. Otevri soubor s textem
2. Stiskni =SPC j j= -- zadej dva znaky (napr. =th=) -- Avy zvyrazni shody
3. Stiskni pismeno u ciloveho vyskytu -- kurzor skoci tam
4. Pro skok na radek: =SPC j l= -- zadej pismeno u radku
Ověření: kurzor přeskočí na vybranou pozici bez scrollování.
Overeni: kurzor preskoci na vybranou pozici bez scrollovani.
* 3. olivetti-mode klidný distraction-free mód
* 3. olivetti-mode -- klidny distraction-free mod
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.
Co dela: horizontalne centruje text na sirku 90 znaku. Zapina se *rucne* --
automaticke zapinani by rozbilo corfu completion popup.
Prerekvizita: =doom sync=, balíček =olivetti= nainstalován.
Prerekvizita: =doom sync=, balik =olivetti= nainstalovan.
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
1. Otevri org nebo Markdown soubor
2. Stiskni =SPC t o= -- text se vycentruje na stred okna
3. Stiskni =SPC t o= znovu -- vrati se do normalniho layoutu
Ověření: text se viditelně přesune od levého okraje do středu.
*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.
*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 -- vylepseny vizual org-mode
* 4. org-modern — vylepšený vizuál org-mode
Co dela: nahradi hvezdicky u nadpisu Unicode symboly (okrouhlymi tvary),
zvyrazni checkboxy. Aktivuje se automaticky po loadu org-modern balicku.
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.
Prerekvizita: =doom sync=, balik =org-modern= nainstalovan.
Jak testovat:
1. Otevři libovolný =.org= soubor
2. Nadpisy by měly mít místo =*==◉=, =**==○= atd.
3. Checkboxy =[ ]= a =[X]= vypadají jinak
1. Otevri libovolny =.org= soubor (napr. inbox.org)
2. Nadpisy by mely mit jinak vyzerajici hvezdicky
3. Checkboxy =[ ]= a =[X]= vypadaji 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
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.
*Poznámka:* =org-modern-table= je záměrně vypnuto — tabulkové overlaye
mohou interferovat s LaTeX exportem.
Overeni org exportu (klicove):
1. Otevri org soubor s tabulkou a nadpisy
2. =SPC m e l o= nebo =C-c C-e l o= -- PDF export
3. Export musi probehnou bez chyby
4. =org-modern-table= je vypnuto -- tabulkove overlaye by mohly interferovat
* 5. org-fragtog automatický náhled LaTeX fragmentů
* 5. org-fragtog -- automaticky nahled LaTeX fragmentu
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.
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= nainstalován, funkční =dvipng=
nebo =imagemagick= na macOS (=brew install imagemagick=).
Prerekvizita: =doom sync=, =org-fragtog= nainstalovan, funkci =dvipng=
nebo =imagemagick=: =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
1. Otevri org soubor
2. Napis =$E = mc^2$=
3. Pohni kurzorem ven z fragmentu -- mel by se zobrazit jako obrazek
4. Pohni kurzorem dovnitr -- obrazek zmizi, zobrazi se zdrojovy kod
Ověření: pokud =dvipng= není dostupný, org-fragtog selže tiše
(žádné chybové hlášení, jen nefunguje preview).
Pokud dvipng neni dostupny, org-fragtog selze tise. Zkontroluj:
=M-x org-toggle-latex-fragment=
Ověření org exportu: =SPC m e l o= musí stále fungovat.
* 6. org-super-agenda -- skupiny v agenda view
* 6. org-super-agenda — skupiny v agenda view
Co dela: rozdeli org agenda view do skupin: Dnes, Cekam, Kyndryl, ZTJ, Ostatni.
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= nainstalovan.
Prerekvizita: =doom sync=, =org-super-agenda= nainstalován.
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:
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"
1. Otevri org agenda: =SPC o A= nebo =C-c a a=
2. Agenda by mela zobrazovat skupiny s nazvy
3. Polozky s TODO =WAIT= ve skupine "Cekam"
Ověření: viditelné nadpisy skupin v agenda bufferu.
*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
* 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.
Co dela: propojuje PDF soubor s org souborem poznamek. Strankovani je synchronizovano.
Prerekvizita: =doom sync=, =org-noter= nainstalován, fungující pdf-tools
(=SPC m P= pro otevření PDF přes pdf-view).
Prerekvizita: =doom sync=, =org-noter= nainstalovan, PDF otvira se v 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
1. Otevri PDF soubor -- mel by se otevrit v pdf-view, ne v Preview
2. Stiskni =SPC o n= -- spusti org-noter session
3. Posouvej PDF -- org soubor se synchronizuje s aktualni strankou
4. Pridej poznamku: =SPC o N= -- vlozi org heading s pozici v PDF
Ověření: org heading obsahuje =:NOTER_PAGE:= property s číslem stránky.
Overeni: org heading obsahuje =:NOTER_PAGE:= property.
* 8. GPTel rewrite regionu a org heading jako kontext
* 8. GPTel -- rewrite regionu a org heading
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
Co dela:
- =SPC o g r= -- posle oznaceny region do GPTel s instrukci "vyleps text"
a nahradi ho odpovedi
- =SPC o g p= -- posle obsah aktualu org headingu jako kontext do GPTel chatu
Prerekvizita: gptel funkční (=SPC o g g= otevírá chat).
Prerekvizita: gptel funkci (=SPC o g g= otevira 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
1. Otevri soubor s textem
2. Oznac region (visual mode: =v=)
3. =SPC o g r= -- pockat -- region se nahradi vylepsenim
4. Zprava: =GPTel: text vylepsen= v minibufferu
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
1. Otevri org soubor
2. Postav kurzor do headingu
3. =SPC o g p= -- obsah headingu odeslan do GPTel chatu
Ověření: zpráva =GPTel: text vylepšen= nebo =GPTel: heading '...' odeslán=
v minibufferu.
* 9. git-link -- kopiovani URL na Gitea
* 9. git-link — kopírování URL na Gitea
Co dela: zkopiruje URL aktualniho souboru/radku na Gitea do clipboardu.
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.
Prerekvizita: =doom sync=, soubor musi byt v git repo 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=
1. Otevri soubor v emacs-doom nebo jinem Gitea repo
2. Postav kurzor na konkretni radek
3. =SPC g y= -- URL zkopirovna do clipboardu
4. Zkontroluj: =pbpaste= v terminalu
Ověření: URL v clipboardu odpovídá aktuálnímu souboru a řádku.
Overeni: URL odpovida aktualnimu souboru a radku na git.apps.sukany.cz.
* 10. Forge Gitea integrace v Magit
* 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.
Co dela: pridava pull request a issue management do Magit.
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):
#+begin_src
machine git.apps.sukany.cz login daneel^forge password <TOKEN>
#+end_src
4. Nastav oprávnění: =chmod 600 ~/.authinfo=
Nastaveni tokenu:
1. Prihlasit se na =https://git.apps.sukany.cz=
2. Settings -> Applications -> Generate new token (scope: =repo=)
3. Pridat do =~/.authinfo=:
: machine git.apps.sukany.cz login daneel^forge password <TOKEN>
4. =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
Jak testovat:
1. Otevri Magit: =SPC g g=
2. Stiskni =@= -- Forge menu
3. =@ f= -- fetch forge data (PRy, issues)
Ověření: bez tokenu Forge selže s chybou autentizace (očekávané chování).
S tokenem zobrazí PRy a issues z Gitea.
*Poznamka:* Bez tokenu Forge selze s chybou autentizace (ocekavane chovani).
* Shrnutí klíčových keybindingů
* Prehled klaves
| Klávesa | Funkce |
| Klavesa | Funkce |
|-----------+-------------------------------|
| SPC j k | link-hint otevři odkaz |
| SPC j K | link-hint kopíruj URL |
| 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 jako kontext|
| SPC g y | git-link (kopíruj URL) |
| SPC o g p | GPTel org heading -> kontext |
| SPC g y | git-link (kopiruj URL) |
| SPC g Y | git-link-commit |
* Řešení problémů
* 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
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.
Vypni olivetti (=SPC t o=). Olivetti meni vizualni marginy, corfu popup pak
ma spatne souradnice.
** 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-modern nefunguje
Spust =doom sync= + restartuj Emacs. Pokud stale ne: =M-x org-modern-mode=
nebo zavre a otevri soubor znovu.
** 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.
** org export selze s Unicode varovanim
Zkontroluj svuj .org soubor na Unicode znaky mimo Latin-1:
#+begin_src sh
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
"
#+end_src
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= — musí být přesně:
=machine git.apps.sukany.cz login daneel^forge password TOKEN=
(bez uvozovek, bez mezer navíc)
Zkontroluj format =~/.authinfo= -- zadne uvozovky, zadne mezery navic:
: machine git.apps.sukany.cz login daneel^forge password TOKEN