emacskurs/init.org
2024-09-25 13:34:09 +02:00

4.2 KiB

Konfigurer din egen Emacs!

Installer Emacs

Finn konfigurasjonsfilen

Sette variabler

  • Enkle konfigurasjoner gjøres ved å sette variabler
  • Få en mindre bråkete velkomst

    ;; Dette fjerner velkomstskjermen ved oppstart av Emacs.
    (setq inhibit-splash-screen t)
  • Gi korte svar når Emacs ber om input

    ;; 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)

Mindre distraksjoner ved å skru av modes

  • En blinkende peker blir fort gammelt

    ;; Skru av blinkende peker.
    (blink-cursor-mode 0)
  • Andre GUI-elementer er også lite nyttig i et tastaturdrevet program!

    ;; Disse skrur av diverse GUI-elementer.
    (menu-bar-mode 0)
    (tool-bar-mode 0)
    (scroll-bar-mode 0)

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

    (global-auto-revert-mode)
    (setq global-auto-revert-non-file-buffers t
          create-lockfiles nil)

Backup-filer

  • Emacs liker å lagre backupfiler, som kan være litt forkludrende
  • La oss gjemme de vekk

    (setq backup-directory-alist `(("." . ,(locate-user-emacs-file "backups"))))

Pakker

  • Det finnes utrolig mange pakker til Emacs
  • Legg til dette for å få tilgang til flere tusen pakker!

    (require 'package)
    (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
  • Den enkleste måten å ta i bruk en pakke er med use-package

    ;; (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

Vertikalt minubuffer

  • Pakken vertigo gir en mer oversiktlig måte å interagere med minibufferet

    ;; VERTical Interactive COmpletion
    (use-package vertico
      :ensure t
      :config
      (setq vertico-count 25)
      (vertico-mode 1))

Husk tidligere kommandoer

  • savehist-mode gjør at kommandoer du brukte nylig vises først

    ;; Save minibuffer history
    (use-package savehist
      :config
      (savehist-mode 1))

Navigering og søking

  • Pakken consult forbedrer mange kommandoer når du skal navigere og søke

    (use-package consult
      :ensure t
      :bind ("C-x b" . consult-buffer)
      :config
      (setq consult-preview-key (list :debounce 0.1 'any)))

Which-key

  • which-key er en pakke som hjelper deg finne tastekombinasjoner

    ;; Display available keybindings in popup
    (use-package which-key
      :ensure t
      :config (which-key-mode 1))

Fargetema!

  • Du kan Style emacs som du vil

  • Pakken ef-themes har mange gode fargetemaer

    (use-package ef-themes
      :ensure t
      :config
      (ef-themes-select 'ef-light))
  • Bruk M-x consult-theme for å teste ut ulike fargetemaer!