diff --git a/init.org b/init.org new file mode 100644 index 0000000..5204f68 --- /dev/null +++ b/init.org @@ -0,0 +1,187 @@ +#+TITLE: Konfigurer din egen Emacs! +#+EMAIL: larstvei@ifi.uio.no + +* Installer Emacs + ++ Følg de offisielle instruksjonene + + https://www.gnu.org/software/emacs/download.html + +* Finn konfigurasjonsfilen + ++ Emacs leter etter en Emacs Lisp fil den kan kjøre ved oppstart + + =~/.emacs.el= (få bruker dette) + + =~/.emacs= + + =~/.emacs.d/init.el= + + I den rekkefølgen ++ Se https://www.gnu.org/software/emacs/manual/html_node/emacs/Find-Init.html ++ For Windows + https://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html + +* Sette variabler + ++ Enkle konfigurasjoner gjøres ved å sette variabler + ++ Få en mindre bråkete velkomst + + #+begin_src emacs-lisp :tangle yes + + ;; Dette fjerner velkomstskjermen ved oppstart av Emacs. + (setq inhibit-splash-screen t) + + #+end_src + ++ Gi korte svar når Emacs ber om input + + #+begin_src emacs-lisp :tangle yes + + ;; Emacs ber deg iblant svare "yes" eller "no". Dette gjør at Emacs + ;; nøyer seg med "y" eller "n". + (setq use-short-answers t) + + #+end_src + +* Mindre distraksjoner ved å skru av modes + ++ En blinkende peker blir fort gammelt + + #+begin_src emacs-lisp :tangle yes + + ;; Skru av blinkende peker. + (blink-cursor-mode 0) + #+end_src + ++ Andre GUI-elementer er også lite nyttig i et tastaturdrevet program! + + #+begin_src emacs-lisp :tangle yes + + ;; Disse skrur av diverse GUI-elementer. + (menu-bar-mode 0) + (tool-bar-mode 0) + (scroll-bar-mode 0) + + #+end_src + +* Auto-revert + ++ Vanligvis vil ikke Emacs automatisk oppdatere innholdet i et buffer når filen + endrer seg ++ I tillegg lagrer den «lås-filer» for å unngå at to programmer jobber på samme fil ++ Det kan være litt forvirrende, så la oss endre det + + #+begin_src emacs-lisp :tangle yes + + (global-auto-revert-mode) + (setq global-auto-revert-non-file-buffers t + create-lockfiles nil) + + #+end_src + +* Backup-filer + ++ Emacs liker å lagre backupfiler, som kan være litt forkludrende ++ La oss gjemme de vekk + + #+begin_src emacs-lisp :tangle yes + + (setq backup-directory-alist `(("." . ,(locate-user-emacs-file "backups")))) + + #+end_src + +* Pakker + ++ Det finnes utrolig mange pakker til Emacs ++ Legg til dette for å få tilgang til flere tusen pakker! + + #+begin_src emacs-lisp :tangle yes + + (require 'package) + (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) + + #+end_src + ++ Den enkleste måten å ta i bruk en pakke er med =use-package= + + #+begin_src emacs-lisp :tangle yes + + ;; (use-package my-package-name + ;; :ensure t ; Ensure my-package is installed + ;; :after foo ; Load my-package after foo is loaded (seldom used) + ;; :init ; Run this code before my-package is loaded + ;; :bind ; Bind these keys to these functions + ;; :custom ; Set these variables + ;; :config ; Run this code after my-package is loaded + + #+end_src + +* Vertikalt minubuffer + ++ Pakken =vertigo= gir en mer oversiktlig måte å interagere med minibufferet + + #+begin_src emacs-lisp :tangle yes + + ;; VERTical Interactive COmpletion + (use-package vertico + :ensure t + :config + (setq vertico-count 25) + (vertico-mode 1)) + + #+end_src + + +* Husk tidligere kommandoer + ++ =savehist-mode= gjør at kommandoer du brukte nylig vises først + + #+begin_src emacs-lisp :tangle yes + + ;; Save minibuffer history + (use-package savehist + :config + (savehist-mode 1)) + + + #+end_src + +* Navigering og søking + ++ Pakken =consult= forbedrer mange kommandoer når du skal navigere og søke + + #+begin_src emacs-lisp :tangle yes + + (use-package consult + :ensure t + :bind ("C-x b" . consult-buffer) + :config + (setq consult-preview-key (list :debounce 0.1 'any))) + + #+end_src + +* Which-key + ++ =which-key= er en pakke som hjelper deg finne tastekombinasjoner + + #+begin_src emacs-lisp :tangle yes + + ;; Display available keybindings in popup + (use-package which-key + :ensure t + :config (which-key-mode 1)) + + #+end_src + +* Fargetema! + ++ Du kan Style emacs som du vil + + Se https://emacsthemes.com/ ++ Pakken =ef-themes= har mange gode fargetemaer + + #+begin_src emacs-lisp :tangle yes + + (use-package ef-themes + :ensure t + :config + (ef-themes-select 'ef-light)) + + #+end_src + ++ Bruk =M-x consult-theme= for å teste ut ulike fargetemaer!