feat(emacs): configured it a lot more.
This commit is contained in:
parent
45f6388743
commit
f827a67928
1 changed files with 237 additions and 5 deletions
|
|
@ -73,7 +73,7 @@ Move backup files to a diff directory.
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(set-face-attribute 'default nil
|
(set-face-attribute 'default nil
|
||||||
:font "CommitMono Nerd Font"
|
:font "CommitMono Nerd Font"
|
||||||
:height 130
|
:height 140
|
||||||
:weight 'medium)
|
:weight 'medium)
|
||||||
(set-face-attribute 'variable-pitch nil
|
(set-face-attribute 'variable-pitch nil
|
||||||
:font "DejaVu Sans"
|
:font "DejaVu Sans"
|
||||||
|
|
@ -81,10 +81,10 @@ Move backup files to a diff directory.
|
||||||
:weight 'medium)
|
:weight 'medium)
|
||||||
(set-face-attribute 'fixed-pitch nil
|
(set-face-attribute 'fixed-pitch nil
|
||||||
:font "CommitMono Nerd Font"
|
:font "CommitMono Nerd Font"
|
||||||
:height 130
|
:height 140
|
||||||
:weight 'medium)
|
:weight 'medium)
|
||||||
|
|
||||||
(add-to-list 'default-frame-alist '(font . "CommitMono Nerd Font-11"))
|
(add-to-list 'default-frame-alist '(font . "CommitMono Nerd Font-14"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* ELECTRIC PAIR
|
* ELECTRIC PAIR
|
||||||
|
|
@ -97,7 +97,9 @@ Move backup files to a diff directory.
|
||||||
(if (char-equal c ?<) t (,electric-pair-inhibit-predicate c))))))
|
(if (char-equal c ?<) t (,electric-pair-inhibit-predicate c))))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* EVIL MODE
|
* TRANSFORM INTO VIM
|
||||||
|
|
||||||
|
** EVIL MODE
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package evil
|
(use-package evil
|
||||||
|
|
@ -122,12 +124,73 @@ Move backup files to a diff directory.
|
||||||
(evil-collection-init))
|
(evil-collection-init))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** MODELINE
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package doom-modeline
|
||||||
|
:ensure t
|
||||||
|
:init (doom-modeline-mode 1)
|
||||||
|
:config
|
||||||
|
(setq doom-modeline-height 25
|
||||||
|
doom-modeline-bar-width 5
|
||||||
|
doom-modeline-persp-name t
|
||||||
|
doom-modeline-persp-icon t))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** VIM LIKE SCROLLING
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
;; Vim like scrolling
|
||||||
|
(setq scroll-margin 10
|
||||||
|
scroll-step 1
|
||||||
|
scroll-conservatively 10000
|
||||||
|
scroll-preserve-screen-position 1)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* WHICH_KEY
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package which-key
|
||||||
|
:init
|
||||||
|
(which-key-mode 1)
|
||||||
|
:diminish
|
||||||
|
:config
|
||||||
|
(setq which-key-side-window-location 'bottom
|
||||||
|
which-key-sort-order #'which-key-key-order-alpha
|
||||||
|
which-key-sort-uppercase-first nil
|
||||||
|
which-key-add-column-padding 1
|
||||||
|
which-key-max-display-columns nil
|
||||||
|
which-key-min-display-lines 6
|
||||||
|
which-key-side-window-slot -10
|
||||||
|
which-key-side-window-max-height 0.25
|
||||||
|
which-key-idle-delay 0.3
|
||||||
|
which-key-max-description-length 25
|
||||||
|
which-key-allow-imprecise-window-fit nil
|
||||||
|
which-key-separator " → " ))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* GENERAL KEYBINDINGS
|
* GENERAL KEYBINDINGS
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package general
|
(use-package general
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(with-eval-after-load 'evil
|
||||||
|
(general-evil-setup))
|
||||||
|
(general-auto-unbind-keys)
|
||||||
:config
|
:config
|
||||||
)
|
(general-override-mode)
|
||||||
|
(general-create-definer +config/leader-key
|
||||||
|
:keymaps 'override
|
||||||
|
:states '(insert emacs normal hybrid motion visual operator)
|
||||||
|
:prefix "SPC"
|
||||||
|
:non-normal-prefix "s-SPC")
|
||||||
|
(general-create-definer +config/local-leader
|
||||||
|
:keymaps 'override
|
||||||
|
:states '(emacs normal hybrid motion visual operator)
|
||||||
|
:prefix "m"
|
||||||
|
:non-normal-prefix "s-m"
|
||||||
|
"" '(:ignore t :which-key (lambda (arg) `(,(cadr (split-string (car arg) " ")) . ,(replace-regexp-in-string "-mode$" "" (symbol-name major-mode)))))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* DIMINISH
|
* DIMINISH
|
||||||
|
|
@ -230,3 +293,172 @@ Move backup files to a diff directory.
|
||||||
([remap describe-variable] . helpful-variable)
|
([remap describe-variable] . helpful-variable)
|
||||||
([remap describe-key] . helpful-key))
|
([remap describe-key] . helpful-key))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* COMPLETION
|
||||||
|
|
||||||
|
** VERTICO
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package vertico
|
||||||
|
:bind (:map vertico-map
|
||||||
|
("C-j" . vertico-next)
|
||||||
|
("C-k" . vertico-previous)
|
||||||
|
("C-l" . vertico-exit)
|
||||||
|
:map minibuffer-local-map
|
||||||
|
("C-h" . backward-kill-word))
|
||||||
|
:custom
|
||||||
|
(vertico-scroll-margin 0) ;; Different scroll margin
|
||||||
|
(vertico-count 15) ;; Show more candidates
|
||||||
|
(vertico-resize t) ;; Grow and shrink the Vertico minibuffer
|
||||||
|
(vertico-cycle t) ;; Enable cycling for `vertico-next/previous'
|
||||||
|
:init
|
||||||
|
(vertico-mode))
|
||||||
|
|
||||||
|
(use-package savehist
|
||||||
|
:ensure nil
|
||||||
|
:init
|
||||||
|
(savehist-mode))
|
||||||
|
|
||||||
|
(use-package emacs
|
||||||
|
:ensure nil
|
||||||
|
:custom
|
||||||
|
(context-menu-mode t)
|
||||||
|
(enable-recursive-minibuffers t)
|
||||||
|
(read-extended-command-predicate #'command-completion-default-include-p)
|
||||||
|
(minibuffer-prompt-properties
|
||||||
|
'(read-only t cursor-intangible t face minibuffer-prompt)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** MARGINALIA
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package marginalia
|
||||||
|
:bind (:map minibuffer-local-map
|
||||||
|
("M-A" . marginalia-cycle))
|
||||||
|
:init
|
||||||
|
(marginalia-mode))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** CONSULT
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package consult
|
||||||
|
:after vertico
|
||||||
|
:custom
|
||||||
|
(completion-in-region-function #'consult-completion-in-region)
|
||||||
|
:config
|
||||||
|
(recentf-mode t))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** ORDERLESS
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package orderless
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(completion-styles '(orderless basic))
|
||||||
|
(completion-category-overrides '((file (styles partial-completion))))
|
||||||
|
(completion-pcm-leading-wildcard t)) ;; Emacs 31: partial-completion behaves like substring
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* IN BUFFER COMPLETION
|
||||||
|
|
||||||
|
** CORFU
|
||||||
|
|
||||||
|
Adds in buffer completion for code/snippets
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package corfu
|
||||||
|
;; Optional customizations
|
||||||
|
:custom
|
||||||
|
(tab-always-indent 'complete)
|
||||||
|
(completion-cycle-threshold nil)
|
||||||
|
(corfu-cycle t)
|
||||||
|
(corfu-auto t)
|
||||||
|
(corfu-auto-prefix 2)
|
||||||
|
(corfu-auto-delay 0.1)
|
||||||
|
(corfu-min-width 60)
|
||||||
|
(corfu-popupinfo-delay '(0.5 . 0.2))
|
||||||
|
(corfu-preview-current 'insert)
|
||||||
|
(corfu-preselect 'prompt)
|
||||||
|
(corfu-on-exact-match nil)
|
||||||
|
|
||||||
|
:bind (:map corfu-map
|
||||||
|
("C-j" . corfu-next)
|
||||||
|
("C-k" . corfu-previous)
|
||||||
|
("C-l" . corfu-insert))
|
||||||
|
:init
|
||||||
|
(corfu-history-mode)
|
||||||
|
(corfu-popupinfo-mode)
|
||||||
|
(global-corfu-mode)
|
||||||
|
:config
|
||||||
|
(add-hook 'eshell-mode-hook
|
||||||
|
(lambda () (setq-local corfu-quit-at-boundary t
|
||||||
|
corfu-quit-no-match t
|
||||||
|
corfu-auto nil)
|
||||||
|
(corfu-mode))))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** KIND ICON
|
||||||
|
|
||||||
|
Eyecandy for corfu
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package kind-icon
|
||||||
|
:ensure t
|
||||||
|
:after corfu
|
||||||
|
:custom
|
||||||
|
(kind-icon-default-face 'corfu-default)
|
||||||
|
:config
|
||||||
|
(plist-put kind-icon-default-style :height 0.8)
|
||||||
|
(add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** CAPE
|
||||||
|
|
||||||
|
extending corpu
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package cape
|
||||||
|
:defer 10
|
||||||
|
:bind ("C-c f" . cape-file)
|
||||||
|
:init
|
||||||
|
(defalias 'dabbrev-after-2 (cape-capf-prefix-length #'cape-dabbrev 2))
|
||||||
|
(add-to-list 'completion-at-point-functions 'dabbrev-after-2 t)
|
||||||
|
(cl-pushnew #'cape-file completion-at-point-functions)
|
||||||
|
:config
|
||||||
|
(advice-add 'pcomplete-completions-at-point :around #'cape-wrap-silent)
|
||||||
|
(advice-add 'pcomplete-completions-at-point :around #'cape-wrap-purify))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
** YASNIPPET
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package yasnippet
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(setq yas-nippet-dir "~/.config/emacs/snippets/")
|
||||||
|
(yas-global-mode))
|
||||||
|
(use-package yasnippet-snippets
|
||||||
|
:ensure t
|
||||||
|
:after yasnippet)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* DIRED
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package dired-open
|
||||||
|
:config
|
||||||
|
(setq dired-open-extensions '(("mkv" . "mpv")
|
||||||
|
("mp4" . "mpv"))))
|
||||||
|
|
||||||
|
(use-package peep-dired
|
||||||
|
:after dired
|
||||||
|
:hook (evil-normalize-keymaps . peep-dired-hook)
|
||||||
|
:config
|
||||||
|
(evil-define-key 'normal dired-mode-map (kbd "h") 'dired-up-directory)
|
||||||
|
(evil-define-key 'normal dired-mode-map (kbd "l") 'dired-open-file)
|
||||||
|
(evil-define-key 'normal peep-dired-mode-map (kbd "j") 'peep-dired-next-file)
|
||||||
|
(evil-define-key 'normal peep-dired-mode-map (kbd "k") 'peep-dired-prev-file)
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue