home/natto: update emacs config

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2022-10-14 09:59:10 +05:30
parent 3cb1266f60
commit e8120c9a57

View File

@@ -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