Files
emacs-org/notes/emacs-new-features.org

8.8 KiB
Raw Blame History

Nové featury Doom Emacs testovací průvodce

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:

  1. Otevři org soubor který má [[https://example.com]] nebo [[file:inbox.org]] odkazy
  2. Stiskni SPC j k link-hint zvýrazní viditelné odkazy
  3. Stiskni písmeno vedle odkazu odkaz se otevře
  4. 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:

  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

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:

  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

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:

  1. Otevři libovolný .org soubor (např. inbox.org)
  2. Nadpisy by měly mít jinak vypadající hvězdičky
  3. 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é):

  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. org-modern-table je 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:

  1. Otevři org soubor
  2. Napiš $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

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:

  1. Otevři org agendu: SPC o A nebo C-c a a
  2. Agenda by měla zobrazovat skupiny s názvy
  3. Položky s TODO WAIT ve 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:

  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. Posouvej PDF org soubor se synchronizuje s aktuální stránkou
  4. 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):

  1. Otevři soubor s textem
  2. Označ region (visual mode: v)
  3. SPC o g r počkat region se nahradí vylepšením
  4. Zpráva: GPTel: text vylepšen v minibufferu

Jak testovat (org heading):

  1. Otevři org soubor
  2. Postav kurzor do headingu
  3. 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:

  1. Otevři soubor v emacs-doom nebo jiném Gitea repo
  2. Postav kurzor na konkrétní řádek
  3. SPC g y URL zkopírována do clipboardu
  4. Zkontroluj: pbpaste v 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:

  1. Přihlásit se na https://git.apps.sukany.cz
  2. Settings -> Applications -> Generate new token (scope: repo)
  3. Přidat do ~/.authinfo:

    machine git.apps.sukany.cz login daneel^forge password <TOKEN>
    
  4. chmod 600 ~/.authinfo

Jak testovat:

  1. Otevři Magit: SPC g g
  2. Stiskni @ Forge menu
  3. @ 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

emacs-new-features