251 lines
8.3 KiB
Org Mode
251 lines
8.3 KiB
Org Mode
#+TITLE: Nove featury Doom Emacs -- testovaci pruvodce
|
|
#+DATE: 2026-02-23
|
|
#+AUTHOR: Daneel
|
|
|
|
Tento dokument popisuje vsechny nove featury pridane do konfigurace.
|
|
Po kazde zmene je nutny =doom sync= + restart Emacsu.
|
|
|
|
* Prerekvizity
|
|
|
|
Nez testuje cokoli:
|
|
|
|
#+begin_src sh
|
|
cd ~/.doom.d
|
|
doom sync
|
|
#+end_src
|
|
|
|
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:
|
|
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=
|
|
|
|
*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:
|
|
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
|
|
|
|
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:
|
|
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
|
|
|
|
*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:
|
|
1. Otevri libovolny =.org= soubor (napr. inbox.org)
|
|
2. Nadpisy by mely mit jinak vyzerajici hvezdicky
|
|
3. 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):
|
|
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 -- 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:
|
|
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
|
|
|
|
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:
|
|
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"
|
|
|
|
*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:
|
|
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
|
|
|
|
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 odpovedi
|
|
- =SPC 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):
|
|
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. Otevri org soubor
|
|
2. Postav kurzor do headingu
|
|
3. =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:
|
|
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
|
|
|
|
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:
|
|
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:
|
|
1. Otevri Magit: =SPC g g=
|
|
2. Stiskni =@= -- Forge menu
|
|
3. =@ 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:
|
|
#+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= -- zadne uvozovky, zadne mezery navic:
|
|
: machine git.apps.sukany.cz login daneel^forge password TOKEN
|