Files
emacs.d/config.org

7.0 KiB

Meine Emacs-Konfiguration

Benutzerangaben

Name und Emailadresse

  (setq user-full-name "Ariane Troche")
  (setq user-mail-address "ariane@familie-troche.de")

Start

Startfenster

Einige Einstellungen, die den Startbildschirm betreffen:

Splash Screen

Der übliche Emacs-Startbildschirm soll nicht angezeigt werden. Damit öffnet sich direkt der scratch-Buffer, welcher komplett leer sein soll.

  (setq inhibit-splash-screen t)
  (setq initial-scratch-message nil)

Scrollbar, Toolbar, Menubar

Scrollbar, Toolbar und Menubar werden ausgeblendet.

  (scroll-bar-mode -1)
  (tool-bar-mode -1)
  (menu-bar-mode -1)

Vollbildschirm

Das Fenster wird im Vollbild geöffnet.

 (setq initial-frame-alist '((fullscreen . maximized)))

Server

Damit beim Start von Emacs nicht immer ein neuer Prozess gestartet wird, wird Emacs hier schon als Server aufgesetzt. Using Emacs as a Server

  (server-start)

Backup und Autosave

Die Backup- und Autosave-Dateien stören eher, da ich sie noch nie gebraucht habe, sollen sie erst gar nicht angelegt werden.

(use-package no-littering
  :config (with-eval-after-load 'recentf
            (add-to-list 'recentf-exclude no-littering-var-directory)
     (add-to-list 'recentf-exclude no-littering-etc-directory))

   (setq auto-save-file-name-transforms  ; autosaved-file-name~
                `((".*" ,(no-littering-expand-var-file-name "auto-save/") t))
                custom-file (no-littering-expand-etc-file-name "custom.el"))

   (if (file-exists-p custom-file)
     (load-file custom-file)))

Konfigurationsdatei

Konfigurationsdatei

Ich bastel sehr gerne an meiner Konfigurationsdatei herum. Mit <f1> kann ich sie ganz schnell öffnen und mit <f2> neu laden.

Key Funktion
F1 Öffne Konfigurationsdatei in anderem Fenster
F2 Konfiguration neu laden, ohne Emacs-Neustart
  ;; Pfade
  (setq my/file-init (expand-file-name "init.el" user-emacs-directory))
  (setq my/file-config (expand-file-name "config.org" user-emacs-directory))
  ;; Öffnen
  (defun my/find-config-file ()
    "Edit my init file in another window."
    (interactive)
    (find-file my/file-config))
  ;; Laden
  (defun my/reload-emacs-configuration ()
    "Reload init.el"
    (interactive)
    (load-file my/file-init))
  ;; Keys
  (global-set-key (kbd "<f1>") 'my/find-config-file)
  (global-set-key (kbd "<f2>") 'my/reload-emacs-configuration)

Neustart

Mit <F12> kann ich Emacs neu starten.

Key Funktion
F12 Emacs-Neustart
  (use-package restart-emacs
    :ensure t
    :bind ("<f12>" . 'restart-emacs))

Magit

Magit ist ein git-Client für Emacs: Magit User Manual

(use-package magit
  :bind ("C-x g" . magit-status))

Fenster

teilen

Funktionen/Tastenkombination um neue Fenster zu erzeugen. Wenn ein neues Fenster erzeugt wird auch direkt dahin wechseln.

Key Funktion
C-1 Alle anderen Fenster schließen
C-2 Neues Fenster unterhalb
C-3 Neues Fenster daneben
(defun artr/split-window-below-and-switch ()
  "Split the window below, then switch to the new window."
  (interactive)
  (split-window-below)
  (other-window 1))

(defun artr/split-window-right-and-switch ()
  "Split the window right, then switch to the new window."
  (interactive)
  (split-window-right)
  (other-window 1))

(global-set-key (kbd "C-1") 'delete-other-windows)
(global-set-key (kbd "C-2") 'artr/split-window-below-and-switch)
(global-set-key (kbd "C-3") 'artr/split-window-right-and-switch)

wechseln

ace-window Bei mehr als 2 Fenstern in der Konfiguration werden die Fenster "durchnummeriert". So können Aktionen gezielt durchgeführt werden. Die möglichen Aktionen werden mit ? aufgelistet. Bei 2 Fenstern wird das Fenster einfach gewechselt.

Key Funktion
M-o ace-windows (? zeigt mögliche Aktionen)
M-O ace-swap-windows
(use-package ace-window
  :init (setq aw-keys '(?a ?s ?d ?f ?g ?h ?j ?k ?l)
              aw-scope 'frame)
  :bind (("M-o" . ace-window)
         ("M-O" . ace-swap-window)))

anordnen

Key Funktion
C-c <left> vorherige Fensterkonfiguration
C-c <right> nächste Fensterkonfiguration
(use-package winner
  :config (winner-mode))

eyebrowse Es können Fensterkonfigurationen angelegt und wiederhergestellt werden. Das Speichern der Konfigurationen passiert in sogenannten Slots, die von 0,… durchnummeriert werden. Mit C-c w 0 kann dann direkt die zugehörige Konfiguration wiederhergestellt werden.

Key Funktion
C-c w key-map
C-c w n neue Fensterkonfiguration
C-c w . Fensterkonfiguration wechseln
C-c w , Fensterkonfiguration benennen
(use-package eyebrowse
  :bind (("C-c w ." . eyebrowse-switch-to-window-config)
         ("C-c w ," . eyebrowse-rename-window-config)
         ("C-c w DEL" . eyebrowse-close-window-config)
         ("C-c w k" . eyebrowse-close-window-config)
         ("C-c w n" . eyebrowse-create-window-config))
   :init (setq eyebrowse-keymap-prefix (kbd "C-c w")
               eyebrowse-wrap-around t
 eyebrowse-mode-line-style 'always
 eyebrowse-mode-line-separator "|")
         (eyebrowse-mode t))

bezeichnen

Die Fenster werden mit "Projektname | Dateiname" bezeichnet.

(setq-default frame-title-format 
                '((:eval
                  (let ((project-name (projectile-project-name)))
                    (unless (string= "-" project-name)
                      (format "%s| " project-name))))
                 "%b"))  ; project-name| file-name