emacs: Tools für Fensterverwalung (ace-window, winner, eyebrowse)
This commit is contained in:
97
config.org
97
config.org
@@ -42,11 +42,21 @@
|
|||||||
|
|
||||||
** Backup und Autosave
|
** 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.
|
Die Backup- und Autosave-Dateien stören eher, da ich sie noch nie gebraucht habe, sollen sie erst gar nicht angelegt werden.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(setq make-backup-files nil)
|
(use-package no-littering
|
||||||
(setq backup-directory-alist `((".*" . ,temporary-file-directory)))
|
:config (with-eval-after-load 'recentf
|
||||||
(setq auto-save-file-name-transforms `((".*" ,temporary-file-directory t)))
|
(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)))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Konfigurationsdatei
|
* Konfigurationsdatei
|
||||||
** Konfigurationsdatei
|
** Konfigurationsdatei
|
||||||
Ich bastel sehr gerne an meiner Konfigurationsdatei herum. Mit <f1> kann ich sie ganz schnell öffnen und mit <f2> neu laden.
|
Ich bastel sehr gerne an meiner Konfigurationsdatei herum. Mit <f1> kann ich sie ganz schnell öffnen und mit <f2> neu laden.
|
||||||
@@ -92,3 +102,84 @@
|
|||||||
(use-package magit
|
(use-package magit
|
||||||
:bind ("C-x g" . magit-status))
|
:bind ("C-x g" . magit-status))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
* Fensterverwaltung
|
||||||
|
** Splitting
|
||||||
|
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 |
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(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)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Undo für Fensterkonfigurationen
|
||||||
|
| Key | Funktion |
|
||||||
|
|-------------+--------------------------------|
|
||||||
|
| C-c <left> | vorherige Fensterkonfiguration |
|
||||||
|
| C-c <right> | nächste Fensterkonfiguration |
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package winner
|
||||||
|
:config (winner-mode))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Fenster wechseln
|
||||||
|
[[https://github.com/abo-abo/ace-window][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 |
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(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)))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Speichern und Wiederherstellen
|
||||||
|
[[https://depp.brause.cc/eyebrowse/][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 |
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(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 "\C-cw"
|
||||||
|
eyebrowse-wrap-around t
|
||||||
|
eyebrowse-mode-line-style 'always
|
||||||
|
eyebrowse-mode-line-separator "|")
|
||||||
|
(eyebrowse-mode t))
|
||||||
|
#+END_SRC
|
||||||
|
|||||||
Reference in New Issue
Block a user