Výchozí nastavení pro Spacemacs, která používáme v igloonet.
Momentálně jde o alfa verzi, máme přetaženou jen malou část používané konfigurace s důrazem na základy, které jsou opravdu potřeba, aby se dalo rozumně pracovat (ať už v org-mode nebo při spravování serverů).
Použijte /Spacemacs/ větev /develop/. V současné době silně nedoporučujeme použití stable.
- pro ty, kteří si chtějí Spacemacs jen vyzkoušet
- pro ty, kteří už chtějí pracovat a nemají zatím čas si hrát s nastavením
- pro ty, kteří věří, že to nastavíme dobře a chtějí průběžně dostávat vychytávky, které objevíme
Snažíme se přidávat pouze taková nastavení, která dle nás mají smysl pro většinu uživatelů a poskytují “lepší než výchozí” zážitek.
Některá naše nastavení vám mohou zkomplikovat pozdější úpravy, ale snažíme se, aby se to nestalo. Jednoduše při vlastních úpravách myslete na to, že nepoužíváte jen výchozí konfiguraci.
Stávající styl vrstvy igloonet-defaults
je spíš hack, který umožňuje přidat
nastavení pár řádky namísto kopírování dlouhého konfiguráku. Pokusíme se časem
čistit a zlepšovat, ale zatím jsme nenašli dostatečnou podporu ve Spacemacsu pro
tento styl vrstvy.
Jelikož tahle vrstva není přímo ve Spacemacs, musíte si ji naklonovat mezi lokální vrstvy. Ve výchozím umístění je to:
git clone https://github.com/igloonet/igloonet-defaults.git ~/.emacs.d/private/layers/igloonet-defaults
Nebo pokud si v nastavení upravíte cestu tak, jak doporučujeme níže, tak:
git clone https://github.com/igloonet/igloonet-defaults.git ~/.spacemacs.d/layers/igloonet-defaults
Následně proveďte následující úpravy v konfiguraci Spacemacs (pokud jej máte
spuštěný, tak použijte zkratku SPC f e d
.
Přejděte na řádek začínající dotspacemacs-configuration-layers
, kde najdete
instrukce pro přidání další vrstvy. Zjednodušeně, pokud jste ještě nic
neupravovali, tak přidejte na nový řádek za řádek na kterém je pouze helm
následující:
(ivy :variables
ivy-enable-advanced-buffer-information t)
(igloonet-defaults :variables
org-enable-reveal-js-support t
org-want-todo-bindings t)
helm
následně můžete smazat, místo něj používáme ivy. Pokud víte co to
helm je a máte jej radši než ivy tak si upravte konfiguraci tak, jak vám
vyhovuje.
Upozornění - pokud už Spacemacs trošku znáte, zde vidíte jeden z prvních používaných hacků. Přiřazujeme variables z ostatních vrstev do naší vrstvy, což není zrovna ok, ale usnadňuje to prvotní konfiguraci.
dotspacemacs-configuration-layer-path | ’(“~/.spacemacs.d/layers/”) | Abychom mohli uchovávat změny v gitu, změníme si umístění vrstev. |
dotspacemacs-which-key-delay | 0.1 | Rychlejší reakce na SPC |
dotspacemacs-frame-title-format | “%I[%t] %b” | Nezbytnost, pokud používáte tiling window manager. |
dotspacemacs-icon-title-format | “%b[%t]” | Nezbytnost, pokud používáte tiling window manager. |
Zde pro jistotu ještě jednou v source bloku kvůli tomu jako github rozbíjí uvozovky:
dotspacemacs-configuration-layer-path '("~/spacemacs/.spacemacs.d/layers/")
dotspacemacs-which-key-delay 0.1
dotspacemacs-frame-title-format "%I[%t] %b"
dotspacemacs-icon-title-format "%b[%t]"
Protože každý skriptujeme a programujeme v jiných jazycích, nemá smysl nastavovat nějaké předdefinované.
Jako cvičení v konfigurování Spacemacsu si tak můžete upravit podporované jazyky přes Emacs customize systém.
SPC h d v
(help describe variable) vyhledejte proměnnou org-babel-load-languages
, dejte enter a přidejte si jazyky, které chcete. Když si pozorně přečtete instrukce, je to hračka, stačí nespěchat.
Pro otestování stačí stisknout Apply, pokud jste spokojeni a chcete nechat jazyky, kterými bude babel mluvit takové, dejte Apply and Save.
Stručný popis aktuálních změn, které tato vrstva přináší
- Nastavení klíčových slov na: TODO, NEXT, INPROG, DONE, WAITING, HOLD, CANCELLED.
- Automatické přepínání tagů dle těchto slov
- Výchozí barvičky
- zrušení odsazení v blocích
TAB
funguje tak jako v daném jazyce- použití stylu jako v daném jazyce
- není nutné potvrzovat spuštění bloku
- startujeme s obrázky
- agenda je sticky
- odsazujeme texty dle headlines
- TODO slova lze přepnout přes
t
na hlavičce - při použití
S-h
neboS-l
nad todo hlavičkou se obchází log - Přidáváme zkratku
att
pro odkazy na soubory přidané přes org-attach - Logujeme čas kdy byl úkol splněn
- Pěkné odrážky místo pomlček
- v
org
bufferech můžete přess s
dát označený text do Org src bloku.
- výchozí metoda pro TRAMP je ssh
- ControlMaster options načítáme z
~/.ssh/config
místo nastavení v emacsu - U sudo metody umožňujeme doplňování dle
known_hosts
- Zjednodušená cesta přes sudo na servery
/sudo:server.domena:
znamená připoj se přes SSH na server pod mým uživatelem a dej sudo na roota - Pro lokální systém lze použít klasické sudo, ale pozor, je nutné zadat hostname počítače místo localhost
Pozor, v budoucnu budeme pravděpodobně měnit zkratky pro tyto funkce, zatím jsou hozené bokem, protože nebyl čas jim najít místo.
Umožní pohodlně otevřít soubor na vzdáleném serveru. Zeptá se na server (doplní dle known_hosts
) a následně přes procházení snadno najdete daný soubor.
Stejné jako předchozí, jen použije sudo.
Pokud máte v bufferu otevřený konkrétní soubor, např. /etc/fstab
na vzdáleném serveru, umožní vám pohodlně otevřít ten stejný soubor na jiném serveru pod sudem.
Na úrovni větších celků (org-mode, SSH), je možné deaktivovat některé nastavení, které děláme přes proměnné vrstvy.
Proměnná | Výchozí | Popis |
---|---|---|
igloonet-defaults-for-org | t | Zda použít defaulty pro org |
igloonet-defaults-for-ssh | t | Zda použít defaulty pro SSH |