home/natto: update emacs config
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
@@ -26,14 +26,11 @@ idk random variables to match my color theme
|
|||||||
c-white-2 "#fdf6e3")
|
c-white-2 "#fdf6e3")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
||||||
#+begin_src python
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Settings
|
* Settings
|
||||||
** Setting the default face
|
** Setting the default face
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq default-frame-alist '((font . "Monoid-12")))
|
(set-frame-font "Monoid 12" nil t)
|
||||||
|
(add-to-list 'default-frame-alist '(font . "Monoid-12"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Some mode settings based on personal preferences
|
** Some mode settings based on personal preferences
|
||||||
@@ -43,7 +40,8 @@ idk random variables to match my color theme
|
|||||||
(tool-bar-mode 0)
|
(tool-bar-mode 0)
|
||||||
(menu-bar-mode 0)
|
(menu-bar-mode 0)
|
||||||
(fringe-mode 0)
|
(fringe-mode 0)
|
||||||
;(cua-mode 1)
|
;; (cua-mode 1)
|
||||||
|
(electric-indent-mode 0)
|
||||||
(global-display-line-numbers-mode 1)
|
(global-display-line-numbers-mode 1)
|
||||||
(xterm-mouse-mode 1)
|
(xterm-mouse-mode 1)
|
||||||
#+end_src
|
#+end_src
|
||||||
@@ -103,9 +101,6 @@ Enable selectrum
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package selectrum
|
(use-package selectrum
|
||||||
:config
|
:config
|
||||||
(define-key selectrum-minibuffer-map (kbd "C-n") #'selectrum-next-candidate)
|
|
||||||
(define-key selectrum-minibuffer-map (kbd "C-e") #'selectrum-previous-candidate)
|
|
||||||
(define-key selectrum-minibuffer-map (kbd "C-i") #'selectrum-select-current-candidate)
|
|
||||||
(selectrum-mode +1))
|
(selectrum-mode +1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -148,10 +143,6 @@ Add orderless for selectrum
|
|||||||
:init
|
:init
|
||||||
(setq-default evil-shift-width 2)
|
(setq-default evil-shift-width 2)
|
||||||
:config
|
:config
|
||||||
(setq org-src-fontify-natively t
|
|
||||||
org-src-strip-leading-and-trailing-blank-lines t
|
|
||||||
org-src-preserve-indentation t
|
|
||||||
org-src-tab-acts-natively t)
|
|
||||||
(evil-set-initial-state 'vterm-mode 'insert)
|
(evil-set-initial-state 'vterm-mode 'insert)
|
||||||
(evil-set-undo-system 'undo-tree)
|
(evil-set-undo-system 'undo-tree)
|
||||||
(evil-define-key 'visual global-map (kbd ">") 'my/evil-shift-right)
|
(evil-define-key 'visual global-map (kbd ">") 'my/evil-shift-right)
|
||||||
@@ -168,16 +159,6 @@ To undo and redo easily like vi
|
|||||||
(global-undo-tree-mode 1))
|
(global-undo-tree-mode 1))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configure evil-colemak-basics
|
|
||||||
To get colemak-dh bindings in evil mode
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(use-package evil-colemak-basics
|
|
||||||
:init
|
|
||||||
(setq evil-colemak-basics-layout-mod 'mod-dh)
|
|
||||||
:config
|
|
||||||
(global-evil-colemak-basics-mode 1))
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Miscellaneous evil related packages
|
*** Miscellaneous evil related packages
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package evil-terminal-cursor-changer)
|
(use-package evil-terminal-cursor-changer)
|
||||||
@@ -199,22 +180,8 @@ To get colemak-dh bindings in evil mode
|
|||||||
(treemacs-git-mode 'simple))
|
(treemacs-git-mode 'simple))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configure treemacs-evil
|
|
||||||
Configure treemacs-evil to get colemak-dh bindings
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package treemacs-evil :config
|
(use-package treemacs-evil)
|
||||||
(define-key evil-treemacs-state-map (kbd "j") nil)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "k") nil)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "n") #'treemacs-next-line)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "e") #'treemacs-previous-line)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "M-n") #'treemacs-next-neighbour)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "M-e") #'treemacs-previous-neighbour)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "M-N") #'treemacs-next-line-other-window)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "M-E") #'treemacs-previous-line-other-window)
|
|
||||||
(define-key evil-treemacs-state-map (kbd "M") #'treemacs-collapse-parent-node)
|
|
||||||
(evil-define-key 'treemacs treemacs-mode-map (kbd "m") #'treemacs-COLLAPSE-action)
|
|
||||||
(evil-define-key 'treemacs treemacs-mode-map (kbd "i") #'treemacs-RET-action)
|
|
||||||
)
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** LSP
|
** LSP
|
||||||
@@ -273,12 +240,7 @@ For autocomplete
|
|||||||
:config
|
:config
|
||||||
(add-to-list 'company-backends 'company-dabbrev)
|
(add-to-list 'company-backends 'company-dabbrev)
|
||||||
(setq company-backends (cons 'company-files (remove 'company-files company-backends)))
|
(setq company-backends (cons 'company-files (remove 'company-files company-backends)))
|
||||||
(company-mode 1)
|
(company-mode 1))
|
||||||
(define-key company-active-map (kbd "C-n") 'company-select-next)
|
|
||||||
(define-key company-active-map (kbd "C-e") 'company-select-previous)
|
|
||||||
(define-key company-search-map (kbd "C-n") 'company-select-next)
|
|
||||||
(define-key company-search-map (kbd "C-e") 'company-select-previous)
|
|
||||||
(company-mode))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configure company-quickhelp
|
*** Configure company-quickhelp
|
||||||
@@ -289,35 +251,35 @@ For autocomplete
|
|||||||
|
|
||||||
** Treesitter
|
** Treesitter
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;(use-package tree-sitter-langs)
|
(use-package tree-sitter-langs)
|
||||||
;(use-package tree-sitter
|
(use-package tree-sitter
|
||||||
; :after tree-sitter-langs
|
:after tree-sitter-langs
|
||||||
; :config
|
:config
|
||||||
; (global-tree-sitter-mode)
|
(global-tree-sitter-mode)
|
||||||
; :init
|
:init
|
||||||
; (add-to-list 'tree-sitter-major-mode-language-alist '(fundamental-mode . bash))
|
(add-to-list 'tree-sitter-major-mode-language-alist '(fundamental-mode . bash))
|
||||||
; (add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
|
(add-hook 'tree-sitter-after-on-hook #'tree-sitter-hl-mode))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Lang support
|
** Lang support
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
;(use-package haskell-mode)
|
(use-package haskell-mode)
|
||||||
|
|
||||||
;(use-package rustic)
|
(use-package rustic)
|
||||||
|
|
||||||
;(use-package nix-mode
|
(use-package nix-mode
|
||||||
; :mode "\\.nix\\'")
|
:mode "\\.nix\\'")
|
||||||
;(add-to-list 'lsp-language-id-configuration '(nix-mode . "nix"))
|
(add-to-list 'lsp-language-id-configuration '(nix-mode . "nix"))
|
||||||
;(lsp-register-client
|
(lsp-register-client
|
||||||
; (make-lsp-client :new-connection (lsp-stdio-connection '("rnix-lsp"))
|
(make-lsp-client :new-connection (lsp-stdio-connection '("rnix-lsp"))
|
||||||
; :major-modes '(nix-mode)
|
:major-modes '(nix-mode)
|
||||||
; :server-id 'nix))
|
:server-id 'nix))
|
||||||
|
|
||||||
|
|
||||||
;(use-package hcl-mode
|
(use-package hcl-mode
|
||||||
; :mod
|
:mode
|
||||||
; "\\.hcl\\'"
|
"\\.hcl\\'"
|
||||||
; "\\.nomad\\'")
|
"\\.nomad\\'")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Magit
|
** Magit
|
||||||
@@ -347,16 +309,16 @@ For autocomplete
|
|||||||
** Centaur Tabs
|
** Centaur Tabs
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package centaur-tabs
|
(use-package centaur-tabs
|
||||||
|
:demand
|
||||||
:config
|
:config
|
||||||
(setq centaur-tabs-style "box"
|
(setq centaur-tabs-style "rounded"
|
||||||
; centaur-tabs-set-bar 'left
|
|
||||||
centaur-tabs-height 18
|
centaur-tabs-height 18
|
||||||
centaur-tabs-set-modified-marker t
|
centaur-tabs-set-modified-marker t
|
||||||
centaur-tabs-set-icons t)
|
centaur-tabs-set-icons t)
|
||||||
(centaur-tabs-group-buffer-groups)
|
(centaur-tabs-group-by-projectile-project)
|
||||||
(add-hook 'server-after-make-frame-hook 'centaur-tabs-mode)
|
(centaur-tabs-headline-match)
|
||||||
(set-face-attribute 'tab-line nil :inherit 'centaur-tabs-unselected)
|
(centaur-tabs-mode nil)
|
||||||
(centaur-tabs-headline-match))
|
(set-face-attribute 'tab-line nil :inherit 'centaur-tabs-unselected))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Misc packages
|
** Misc packages
|
||||||
@@ -371,11 +333,7 @@ For autocomplete
|
|||||||
|
|
||||||
(use-package flex-autopair
|
(use-package flex-autopair
|
||||||
:config
|
:config
|
||||||
(flex-autopair-mode 1))
|
(flex-autopair-mode 0))
|
||||||
|
|
||||||
(use-package rainbow-mode
|
|
||||||
:config
|
|
||||||
(rainbow-mode 1))
|
|
||||||
|
|
||||||
(use-package treemacs-all-the-icons)
|
(use-package treemacs-all-the-icons)
|
||||||
|
|
||||||
@@ -388,8 +346,13 @@ For autocomplete
|
|||||||
(use-package org
|
(use-package org
|
||||||
:after evil
|
:after evil
|
||||||
:config
|
:config
|
||||||
|
(setq evil-want-C-i-jump nil
|
||||||
|
org-adapt-indentation t
|
||||||
|
org-src-fontify-natively t
|
||||||
|
org-src-strip-leading-and-trailing-blank-lines t
|
||||||
|
org-src-preserve-indentation t
|
||||||
|
org-src-tab-acts-natively t)
|
||||||
(define-key org-mode-map (kbd "RET") 'org-return-and-maybe-indent)
|
(define-key org-mode-map (kbd "RET") 'org-return-and-maybe-indent)
|
||||||
(setq evil-want-C-i-jump nil)
|
|
||||||
(evil-define-key 'normal org-mode-map (kbd "TAB") 'org-cycle))
|
(evil-define-key 'normal org-mode-map (kbd "TAB") 'org-cycle))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@@ -540,10 +503,44 @@ This returns the command to run in the terminal
|
|||||||
|
|
||||||
* Keybinds
|
* Keybinds
|
||||||
** General
|
** General
|
||||||
|
*** Colemak translations
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(setq states-with-hjkl-keybindings
|
||||||
|
'(normal visual motion treemacs))
|
||||||
|
|
||||||
|
(setq evil-states
|
||||||
|
'(visual normal))
|
||||||
|
|
||||||
|
(general-translate-key states-with-hjkl-keybindings 'global
|
||||||
|
"m" "h"
|
||||||
|
"n" "j"
|
||||||
|
"e" "k"
|
||||||
|
"i" "l"
|
||||||
|
"u" "i"
|
||||||
|
"l" "u"
|
||||||
|
"k" "n"
|
||||||
|
"f" "e"
|
||||||
|
"t" "f"
|
||||||
|
"j" "t"
|
||||||
|
)
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
*** Misc binds
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(with-eval-after-load 'general
|
(with-eval-after-load 'general
|
||||||
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states '(normal emacs visual motion treemacs Eshell override)
|
:states evil-states
|
||||||
|
"M-c" 'comment-line
|
||||||
|
"C-c M-c" 'comment-box)
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states '(normal insert)
|
||||||
|
"C-S-v" 'yank)
|
||||||
|
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states states-with-hjkl-keybindings
|
||||||
"M-o" 'treemacs
|
"M-o" 'treemacs
|
||||||
"M-v" 'split-window-vertically
|
"M-v" 'split-window-vertically
|
||||||
"M-h" 'split-window-horizontally
|
"M-h" 'split-window-horizontally
|
||||||
@@ -551,10 +548,6 @@ This returns the command to run in the terminal
|
|||||||
"M-C-i" 'enlarge-window-horizontally
|
"M-C-i" 'enlarge-window-horizontally
|
||||||
"M-C-e" 'shrink-window
|
"M-C-e" 'shrink-window
|
||||||
"M-C-n" 'enlarge-window
|
"M-C-n" 'enlarge-window
|
||||||
"C-m" 'windmove-left
|
|
||||||
"C-i" 'windmove-right
|
|
||||||
"C-n" 'windmove-down
|
|
||||||
"C-e" 'windmove-up
|
|
||||||
"M-," 'centaur-tabs-backward
|
"M-," 'centaur-tabs-backward
|
||||||
"M-." 'centaur-tabs-forward
|
"M-." 'centaur-tabs-forward
|
||||||
"C-q" 'delete-window
|
"C-q" 'delete-window
|
||||||
@@ -563,26 +556,18 @@ This returns the command to run in the terminal
|
|||||||
"M-S-w" 'kill-window)
|
"M-S-w" 'kill-window)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Pop-up terminal specific keybinds
|
*** Pop-up terminal specific keybinds
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
|
||||||
(with-eval-after-load 'vterm-toggle
|
(with-eval-after-load 'vterm-toggle
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states '(override insert normal visual treemacs motion)
|
:states states-with-hjkl-keybindings
|
||||||
"M-f" 'lsp-format-buffer
|
|
||||||
"<f4>" (lambda () (interactive) (vterm t))
|
"<f4>" (lambda () (interactive) (vterm t))
|
||||||
"C-<f1>" 'vterm-toggle-cd
|
"C-<f1>" 'vterm-toggle-cd
|
||||||
"<f1>" 'vterm-toggle
|
"<f1>" 'vterm-toggle
|
||||||
"<f5>" (lambda () (interactive) (run-in-vterm (candrun))))
|
"<f5>" (lambda () (interactive) (run-in-vterm (candrun))))
|
||||||
|
|
||||||
(define-key vterm-mode-map (kbd "<f2>") 'vterm-toggle-forward)
|
(define-key vterm-mode-map (kbd "<F2>") 'vterm-toggle-forward)
|
||||||
(define-key vterm-mode-map (kbd "<f3>") 'vterm-toggle-backward)
|
(define-key vterm-mode-map (kbd "<f3>") 'vterm-toggle-backward)
|
||||||
|
|
||||||
(general-define-key
|
|
||||||
:states '(normal insert)
|
|
||||||
:keymaps 'VTerm
|
|
||||||
"C-S-v" 'vterm-yank
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user