Formatierung, Which-Key und Helm-Descbinds
This commit is contained in:
439
config.org
439
config.org
@@ -31,7 +31,7 @@
|
||||
*** Vollbildschirm
|
||||
Das Fenster wird im Vollbild geöffnet.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq initial-frame-alist '((fullscreen . maximized)))
|
||||
(setq initial-frame-alist '((fullscreen . maximized)))
|
||||
#+END_SRC
|
||||
|
||||
** Server
|
||||
@@ -45,17 +45,17 @@
|
||||
Die Backup- und Autosave-Dateien stören eher, da ich sie noch nie gebraucht habe, sollen sie erst gar nicht angelegt werden.
|
||||
[[https://github.com/emacscollective/no-littering][Help keeping ~/.emacs.d clean]]
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(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))
|
||||
(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"))
|
||||
(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)))
|
||||
(if (file-exists-p custom-file)
|
||||
(load-file custom-file)))
|
||||
#+END_SRC
|
||||
|
||||
* Konfigurationsdatei
|
||||
@@ -106,74 +106,74 @@
|
||||
|
||||
** Font
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; for unicode
|
||||
(when (display-graphic-p)
|
||||
(set-fontset-font "fontset-default" nil
|
||||
(font-spec :size 20 :name "Symbola")))
|
||||
;; for emoji
|
||||
(set-fontset-font
|
||||
t
|
||||
'(#x1f300 . #x1fad0)
|
||||
(cond
|
||||
;; for unicode
|
||||
(when (display-graphic-p)
|
||||
(set-fontset-font "fontset-default" nil
|
||||
(font-spec :size 20 :name "Symbola")))
|
||||
;; for emoji
|
||||
(set-fontset-font
|
||||
t
|
||||
'(#x1f300 . #x1fad0)
|
||||
(cond
|
||||
((member "Noto Color Emoji" (font-family-list)) "Noto Color Emoji")
|
||||
((member "Noto Emoji" (font-family-list)) "Noto Emoji")
|
||||
((member "Segoe UI Emoji" (font-family-list)) "Segoe UI Emoji")
|
||||
((member "Symbola" (font-family-list)) "Symbola")
|
||||
((member "Apple Color Emoji" (font-family-list)) "Apple Color Emoji")))
|
||||
|
||||
;; font to use
|
||||
(defconst artr/default-font-family "Source Code Pro")
|
||||
(defconst artr/default-font-size 100)
|
||||
(defconst artr/default-icon-size 15)
|
||||
;; font to use
|
||||
(defconst artr/default-font-family "Source Code Pro")
|
||||
(defconst artr/default-font-size 100)
|
||||
(defconst artr/default-icon-size 15)
|
||||
|
||||
(set-face-attribute 'default nil
|
||||
:family artr/default-font-family
|
||||
:height artr/default-font-size)
|
||||
(set-face-attribute 'default nil
|
||||
:family artr/default-font-family
|
||||
:height artr/default-font-size)
|
||||
#+END_SRC
|
||||
|
||||
** Schriftgröße anpassen
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun artr/adjust-font-size (height)
|
||||
"Adjust font size by given height. If height is '0', reset font
|
||||
size. This function also handles icons and modeline font sizes."
|
||||
(interactive "nHeight ('0' to reset): ")
|
||||
(defun artr/adjust-font-size (height)
|
||||
"Adjust font size by given height. If height is '0', reset font
|
||||
size. This function also handles icons and modeline font sizes."
|
||||
(interactive "nHeight ('0' to reset): ")
|
||||
(let ((new-height (if (zerop height)
|
||||
artr/default-font-size
|
||||
(+ height (face-attribute 'default :height)))))
|
||||
(set-face-attribute 'default nil :height new-height)
|
||||
(set-face-attribute 'mode-line nil :height new-height)
|
||||
(set-face-attribute 'mode-line-inactive nil :height new-height)
|
||||
(message "Font size: %s" new-height))
|
||||
artr/default-font-size
|
||||
(+ height (face-attribute 'default :height)))))
|
||||
(set-face-attribute 'default nil :height new-height)
|
||||
(set-face-attribute 'mode-line nil :height new-height)
|
||||
(set-face-attribute 'mode-line-inactive nil :height new-height)
|
||||
(message "Font size: %s" new-height))
|
||||
(let ((new-size (if (zerop height)
|
||||
artr/default-icon-size
|
||||
(+ (/ height 5) treemacs--icon-size))))
|
||||
(when (fboundp 'treemacs-resize-icons)
|
||||
(treemacs-resize-icons new-size))
|
||||
(when (fboundp 'company-box-icons-resize)
|
||||
(company-box-icons-resize new-size))))
|
||||
artr/default-icon-size
|
||||
(+ (/ height 5) treemacs--icon-size))))
|
||||
(when (fboundp 'treemacs-resize-icons)
|
||||
(treemacs-resize-icons new-size))
|
||||
(when (fboundp 'company-box-icons-resize)
|
||||
(company-box-icons-resize new-size))))
|
||||
#+END_SRC
|
||||
|
||||
** Schrift vergrößern
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun artr/increase-font-size ()
|
||||
"Increase font size by 0.5 (5 in height)."
|
||||
(interactive)
|
||||
(defun artr/increase-font-size ()
|
||||
"Increase font size by 0.5 (5 in height)."
|
||||
(interactive)
|
||||
(artr/adjust-font-size 5))
|
||||
#+END_SRC
|
||||
|
||||
** Schrift verkleinern
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun artr/decrease-font-size ()
|
||||
"Decrease font size by 0.5 (5 in height)."
|
||||
(interactive)
|
||||
(defun artr/decrease-font-size ()
|
||||
"Decrease font size by 0.5 (5 in height)."
|
||||
(interactive)
|
||||
(artr/adjust-font-size -5))
|
||||
#+END_SRC
|
||||
|
||||
** Schriftgröße zurücksetzen
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun artr/reset-font-size ()
|
||||
"Reset font size according to the `artr/default-font-size'."
|
||||
(interactive)
|
||||
(defun artr/reset-font-size ()
|
||||
"Reset font size according to the `artr/default-font-size'."
|
||||
(interactive)
|
||||
(artr/adjust-font-size 0))
|
||||
#+END_SRC
|
||||
|
||||
@@ -194,8 +194,8 @@ size. This function also handles icons and modeline font sizes."
|
||||
* Magit
|
||||
Magit ist ein git-Client für Emacs: [[https://magit.vc/manual/magit/#Top][Magit User Manual]]
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package magit
|
||||
:bind ("C-x g" . magit-status))
|
||||
(use-package magit
|
||||
:bind ("C-x g" . magit-status))
|
||||
#+END_SRC
|
||||
|
||||
* Fenster
|
||||
@@ -208,21 +208,21 @@ size. This function also handles icons and modeline font sizes."
|
||||
| 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)
|
||||
(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)
|
||||
(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)
|
||||
(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
|
||||
|
||||
** wechseln
|
||||
@@ -236,11 +236,11 @@ size. This function also handles icons and modeline font sizes."
|
||||
| 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)))
|
||||
(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
|
||||
|
||||
** anordnen
|
||||
@@ -250,8 +250,8 @@ size. This function also handles icons and modeline font sizes."
|
||||
| C-c <right> | nächste Fensterkonfiguration |
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package winner
|
||||
:config (winner-mode))
|
||||
(use-package winner
|
||||
:config (winner-mode))
|
||||
#+END_SRC
|
||||
|
||||
[[https://depp.brause.cc/eyebrowse/][eyebrowse]]
|
||||
@@ -265,38 +265,38 @@ size. This function also handles icons and modeline font sizes."
|
||||
| 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))
|
||||
(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))
|
||||
eyebrowse-wrap-around t
|
||||
eyebrowse-mode-line-style 'always
|
||||
eyebrowse-mode-line-separator "|")
|
||||
(eyebrowse-mode t))
|
||||
#+END_SRC
|
||||
|
||||
** bezeichnen
|
||||
Die Fenster werden mit "Projektname | Dateiname" bezeichnet.
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(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
|
||||
(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
|
||||
#+END_SRC
|
||||
* Help
|
||||
[[https://github.com/Wilfred/helpful][Helpful]] - Eine Context-Hilfe mit mehr Informationen
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package helpful
|
||||
:bind (([remap describe-function] . helpful-callable)
|
||||
([remap describe-variable] . helpful-variable)
|
||||
([remap describe-key] . helpful-key)
|
||||
:map emacs-lisp-mode-map
|
||||
("C-c C-d" . helpful-at-point)))
|
||||
(use-package helpful
|
||||
:bind (([remap describe-function] . helpful-callable)
|
||||
([remap describe-variable] . helpful-variable)
|
||||
([remap describe-key] . helpful-key)
|
||||
:map emacs-lisp-mode-map
|
||||
("C-c C-d" . helpful-at-point)))
|
||||
#+END_SRC
|
||||
|
||||
* Modeline
|
||||
@@ -304,21 +304,21 @@ size. This function also handles icons and modeline font sizes."
|
||||
[[https://github.com/tarsius/minions][A minor-mode menu for the mode line]] - minions
|
||||
[[https://github.com/emacsorphanage/anzu][anzu.el]] - displays match information in the mode-line in various search modes
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package doom-modeline
|
||||
:custom (doom-modeline-icon t)
|
||||
(doom-modeline-minor-modes t)
|
||||
(doom-modeline-unicode-fallback t)
|
||||
(doom-modeline-mu4e nil)
|
||||
(doom-modeline-buffer-encoding nil)
|
||||
:init
|
||||
:hook (after-init . doom-modeline-mode))
|
||||
(use-package doom-modeline
|
||||
:custom (doom-modeline-icon t)
|
||||
(doom-modeline-minor-modes t)
|
||||
(doom-modeline-unicode-fallback t)
|
||||
(doom-modeline-mu4e nil)
|
||||
(doom-modeline-buffer-encoding nil)
|
||||
:init
|
||||
:hook (after-init . doom-modeline-mode))
|
||||
|
||||
(use-package minions
|
||||
:hook (doom-modeline-mode . minions-mode))
|
||||
(use-package minions
|
||||
:hook (doom-modeline-mode . minions-mode))
|
||||
|
||||
(use-package anzu
|
||||
:after isearch
|
||||
:config (global-anzu-mode))
|
||||
(use-package anzu
|
||||
:after isearch
|
||||
:config (global-anzu-mode))
|
||||
#+END_SRC
|
||||
|
||||
* Helm
|
||||
@@ -347,143 +347,178 @@ size. This function also handles icons and modeline font sizes."
|
||||
(use-package helm
|
||||
:demand
|
||||
:bind ("M-x" . helm-M-x)
|
||||
("C-h a" . helm-apropos)
|
||||
("C-c h" . helm-mini)
|
||||
("C-x C-f" . helm-find-files)
|
||||
("C-x f" . helm-recentf)
|
||||
("C-x b" . helm-buffers-list)
|
||||
("C-x c b" . helm-filtered-bookmarks)
|
||||
("C-x c o" . helm-occur)
|
||||
("C-x c s" . helm-swoop)
|
||||
("C-x c SPC" . helm-all-mark-rings)
|
||||
("M-y" . helm-show-kill-ring)
|
||||
("C-h a" . helm-apropos)
|
||||
("C-c h" . helm-mini)
|
||||
("C-x C-f" . helm-find-files)
|
||||
("C-x f" . helm-recentf)
|
||||
("C-x b" . helm-buffers-list)
|
||||
("C-x c b" . helm-filtered-bookmarks)
|
||||
("C-x c o" . helm-occur)
|
||||
("C-x c s" . helm-swoop)
|
||||
("C-x c SPC" . helm-all-mark-rings)
|
||||
("M-y" . helm-show-kill-ring)
|
||||
:preface (require 'helm-config)
|
||||
:config (helm-mode 1))
|
||||
|
||||
(use-package helm-icons
|
||||
:after helm
|
||||
:config
|
||||
(use-package helm-icons
|
||||
:after helm
|
||||
:config
|
||||
(treemacs-resize-icons artr/default-icon-size)
|
||||
(helm-icons-enable))
|
||||
|
||||
(use-package helm-swoop
|
||||
:after helm
|
||||
:chords
|
||||
(use-package helm-swoop
|
||||
:after helm
|
||||
:chords
|
||||
("js" . helm-swoop)
|
||||
("jp" . helm-swoop-back-to-last-point)
|
||||
:init
|
||||
:init
|
||||
(bind-key "M-m" 'helm-swoop-from-isearch isearch-mode-map))
|
||||
|
||||
(use-package helm-descbinds
|
||||
:init
|
||||
(setq helm-descbinds-window-style 'split-window)
|
||||
:bind ("C-h b" . helm-descbinds))
|
||||
#+END_SRC
|
||||
|
||||
* Dateien und Buffer
|
||||
** Dired
|
||||
[[https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html][Dired, the Directory Editor]]
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package dired
|
||||
:ensure nil
|
||||
:config
|
||||
(use-package dired
|
||||
:ensure nil
|
||||
:config
|
||||
;; Always delete and copy recursively
|
||||
(setq dired-recursive-deletes 'always
|
||||
dired-recursive-copies 'always)
|
||||
dired-recursive-copies 'always)
|
||||
(when (executable-find "ls")
|
||||
;; Using `insert-directory-program'
|
||||
(setq ls-lisp-use-insert-directory-program t)
|
||||
;; Show directory first
|
||||
(setq dired-listing-switches "-alh --group-directories-first")))
|
||||
;; Show git info in dired
|
||||
(use-package dired-git-info
|
||||
:bind (:map dired-mode-map
|
||||
(")" . dired-git-info-mode)))
|
||||
;; Allow rsync from dired buffers
|
||||
(use-package dired-rsync
|
||||
:bind (:map dired-mode-map
|
||||
("C-c C-r" . dired-rsync)))
|
||||
;;Icons
|
||||
(use-package all-the-icons-dired
|
||||
:hook (dired-mode . all-the-icons-dired-mode))
|
||||
;; Using `insert-directory-program'
|
||||
(setq ls-lisp-use-insert-directory-program t)
|
||||
;; Show directory first
|
||||
(setq dired-listing-switches "-alh --group-directories-first")))
|
||||
;; Show git info in dired
|
||||
(use-package dired-git-info
|
||||
:bind (:map dired-mode-map
|
||||
(")" . dired-git-info-mode)))
|
||||
;; Allow rsync from dired buffers
|
||||
(use-package dired-rsync
|
||||
:bind (:map dired-mode-map
|
||||
("C-c C-r" . dired-rsync)))
|
||||
;;Icons
|
||||
(use-package all-the-icons-dired
|
||||
:hook (dired-mode . all-the-icons-dired-mode))
|
||||
#+END_SRC
|
||||
|
||||
** Treemacs
|
||||
[[https://github.com/Alexander-Miller/treemacs][Treemacs - a tree layout file explorer for Emacs]]
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package treemacs
|
||||
:diminish
|
||||
:commands (treemacs-follow-mode
|
||||
treemacs-filewatch-mode
|
||||
treemacs-fringe-indicator-mode
|
||||
treemacs-git-mode
|
||||
treemacs)
|
||||
:bind (([f8] . treemacs)
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x 1" . treemacs-delete-other-windows)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t b" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
#+END_SRC
|
||||
(use-package treemacs
|
||||
:diminish
|
||||
:commands (treemacs-follow-mode
|
||||
treemacs-filewatch-mode
|
||||
treemacs-fringe-indicator-mode
|
||||
treemacs-git-mode
|
||||
treemacs)
|
||||
:bind (([f8] . treemacs)
|
||||
("M-0" . treemacs-select-window)
|
||||
("C-x 1" . treemacs-delete-other-windows)
|
||||
("C-x t 1" . treemacs-delete-other-windows)
|
||||
("C-x t t" . treemacs)
|
||||
("C-x t b" . treemacs-bookmark)
|
||||
("C-x t C-t" . treemacs-find-file)
|
||||
("C-x t M-t" . treemacs-find-tag)))
|
||||
#+END_SRC
|
||||
|
||||
* Text
|
||||
** Textbreite
|
||||
Der Text wird nach 90 Zeichen umgebrochen. Jedoch nur in der Ansicht!
|
||||
[[https://github.com/luisgerhorst/virtual-auto-fill][virtual-auto-fill]] - display unfilled text in a readable way
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default fill-column 90)
|
||||
(setq column-number-mode t)
|
||||
(use-package virtual-auto-fill
|
||||
:hook (text-mode . virtual-auto-fill-mode))
|
||||
(setq-default fill-column 90)
|
||||
(setq column-number-mode t)
|
||||
#+END_SRC
|
||||
* Snippets
|
||||
Mit Yasnippet lassen sich Templates definieren und mit einer Tastenkombination belegen.
|
||||
Die Templates werden im Ordner /snippets/ jeweils unter einem Mode-spezifischen Ordner gespeichert.
|
||||
|
||||
Das Paket /yasnippet-snippets/ stellt eine Auswahl an Templates zur Verfügung. Mit /helm-c-yasnippet/ lassen sich die Snippets mit Helm durchsuchen und filtern.
|
||||
** Whitespace
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package whitespace
|
||||
:hook (before-save . whitespace-cleanup))
|
||||
(setq-default sentence-end-double-space nil)
|
||||
#+END_SRC
|
||||
|
||||
| Key | Aktion |
|
||||
|-----------+------------------------|
|
||||
| C-c & C-n | neues Template anlegen |
|
||||
| C-c & C-s | Template einfügen |
|
||||
| C-c & C-v | Template öffnen |
|
||||
|-----------+------------------------|
|
||||
| C-c y | Templates auswählen |
|
||||
** Tabulators
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq-default
|
||||
indent-tabs-mode nil ; Use spaces instead of tabs
|
||||
tab-width 4)
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package yasnippet
|
||||
:diminish yas-minor-mode
|
||||
:hook (after-init . yas-global-mode))
|
||||
** Copy/Paste
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(delete-selection-mode)
|
||||
#+END_SRC
|
||||
|
||||
(use-package yasnippet-snippets
|
||||
:after yasnippet)
|
||||
** Klammern
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(electric-pair-mode)
|
||||
(show-paren-mode 1)
|
||||
|
||||
(use-package rainbow-delimiters
|
||||
:hook
|
||||
(prog-mode . rainbow-delimiters-mode))
|
||||
#+END_SRC
|
||||
|
||||
(use-package helm-c-yasnippet
|
||||
:bind (("C-c y" . helm-yas-complete)))
|
||||
#+END_SRC
|
||||
* Completion
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package company
|
||||
:bind ("M-/" . company-complete)
|
||||
:hook (after-init . global-company-mode)
|
||||
:init (setq company-idle-delay 0))
|
||||
** Company
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package company
|
||||
:bind ("M-/" . company-complete)
|
||||
:hook (after-init . global-company-mode)
|
||||
:init (setq company-idle-delay 0))
|
||||
|
||||
(use-package helm-company
|
||||
:after company helm
|
||||
:bind (:map company-mode-map
|
||||
("C-:" . helm-company)
|
||||
:map company-active-map
|
||||
("C-:" . helm-company)))
|
||||
#+END_SRC
|
||||
** Snippets
|
||||
Mit Yasnippet lassen sich Templates definieren und mit einer Tastenkombination belegen.
|
||||
Die Templates werden im Ordner /snippets/ jeweils unter einem Mode-spezifischen Ordner gespeichert.
|
||||
|
||||
Das Paket /yasnippet-snippets/ stellt eine Auswahl an Templates zur Verfügung. Mit /helm-c-yasnippet/ lassen sich die Snippets mit Helm durchsuchen und filtern.
|
||||
|
||||
| Key | Aktion |
|
||||
|-----------+------------------------|
|
||||
| C-c & C-n | neues Template anlegen |
|
||||
| C-c & C-s | Template einfügen |
|
||||
| C-c & C-v | Template öffnen |
|
||||
|-----------+------------------------|
|
||||
| C-c y | Templates auswählen |
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package yasnippet
|
||||
:diminish yas-minor-mode
|
||||
:hook (after-init . yas-global-mode))
|
||||
|
||||
(use-package yasnippet-snippets
|
||||
:after yasnippet)
|
||||
|
||||
(use-package helm-c-yasnippet
|
||||
:bind (("C-c y" . helm-yas-complete)))
|
||||
#+END_SRC
|
||||
|
||||
(use-package helm-company
|
||||
:after company helm
|
||||
:bind (:map company-mode-map
|
||||
("C-:" . helm-company)
|
||||
:map company-active-map
|
||||
("C-:" . helm-company)))
|
||||
#+END_SRC
|
||||
* Projectile
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package projectile
|
||||
:config
|
||||
(use-package projectile
|
||||
:config
|
||||
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
|
||||
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
|
||||
(projectile-mode 1)
|
||||
:init
|
||||
:init
|
||||
(setq projectile-completion-system 'helm))
|
||||
#+END_SRC
|
||||
* Whitespace
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package whitespace
|
||||
:hook (before-save . whitespace-cleanup))
|
||||
#+END_SRC
|
||||
|
||||
* Which-Key
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(use-package which-key
|
||||
:init
|
||||
(which-key-mode))
|
||||
#+END_SRC
|
||||
|
||||
Reference in New Issue
Block a user