Skip to content

Instantly share code, notes, and snippets.

@Accacio
Last active October 20, 2023 13:47
Show Gist options
  • Save Accacio/8bd4d753d493e431cec83dd052f5e6ca to your computer and use it in GitHub Desktop.
Save Accacio/8bd4d753d493e431cec83dd052f5e6ca to your computer and use it in GitHub Desktop.
emacs minimal config
;; /!\ install straight via git /!\
;; git clone https://github.com/raxod502/straight.el.git straight/repos/straight.el
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
(bootstrap-version 6))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el"
'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(straight-use-package 'use-package)
(use-package el-patch
:straight t)
(use-package evil
:straight t
:init
(setq evil-want-integration t)
(setq evil-want-keybinding nil)
:config
(evil-mode 1)
)
(use-package evil-collection
:straight t
:after evil
:config
(evil-collection-init)
)
(use-package company
:straight t
:config
(global-company-mode t)
)
(use-package evil-nerd-commenter
:straight t
:config
(define-key evil-normal-state-map "gcc" 'evilnc-comment-or-uncomment-lines)
(define-key evil-normal-state-map "gc" 'evilnc-comment-operator)
)
(use-package evil-leader
:straight t
:after evil
:config
(evil-leader/set-leader "<SPC>")
(evil-leader-mode)
)
(use-package evil-numbers
:straight t
:config
(define-key evil-normal-state-map "g=" 'evil-numbers/inc-at-pt)
(define-key evil-normal-state-map "g-" 'evil-numbers/dec-at-pt)
(define-key evil-visual-state-map "g=" 'evil-numbers/inc-at-pt-incremental)
(define-key evil-visual-state-map "g-" 'evil-numbers/dec-at-pt-incremental)
)
(use-package evil-args
:straight t
)
(use-package evil-surround
:straight t
:commands (global-evil-surround-mode
evil-surround-edit
evil-Surround-edit
evil-surround-region)
:config (global-evil-surround-mode 1)
)
(use-package which-key
:straight t
:config
(which-key-mode)
)
(use-package rotate-text
:straight t
:config
(setq rotate-text-words '(("analog" "digital") ("width" "height") ("left" "center" "right" "top" "bottom")))
(define-key evil-normal-state-map "]r" 'rotate-text)
)
(use-package swiper
:straight t
)
(use-package ivy
:straight t
:config
(setq ivy-initial-inputs-alist '((counsel-minor . "")
(counsel-package . "")
(counsel-org-capture . "")
(counsel-M-x . "")
(counsel-describe-symbol . "")
(org-refile . "")
(org-agenda-refile . "")
(org-capture-refile . "")
(Man-completion-table . "")
(woman . "")))
:bind
)
(use-package ivy-avy
:straight t
)
(use-package counsel
:straight t
:config
:bind
("C-x C-f" . counsel-find-file)
("C-h f" . counsel-describe-function)
("C-h v" . counsel-describe-variable)
("C-h o" . counsel-describe-symbol)
("C-x b" . counsel-ibuffer)
("M-x" . counsel-M-x)
)
(use-package projectile
:straight t
)
(use-package magit
:straight t
:config
)
(use-package rainbow-mode
:straight t
)
(use-package nord-theme
:straight t
)
(use-package undo-tree
:straight t
:config
(setq undo-tree-visualizer-diff t)
(global-undo-tree-mode)
)
(use-package git-timemachine
:straight t
:config
)
(load-theme 'nord t)
(setq inhibit-startup-screen t)
(tool-bar-mode 0)
(menu-bar-mode 0)
(setq display-line-numbers-type 'relative)
(global-display-line-numbers-mode)
(set-face-attribute 'line-number nil :foreground "#A3BE8C")
(set-face-attribute 'line-number-current-line nil :foreground "#EBCB8B")
(defalias 'yes-or-no-p 'y-or-n-p)
(evil-set-leader 'normal (kbd "<SPC>"))
(evil-define-key 'normal 'global (kbd "<leader>ff") 'counsel-find-file)
(evil-define-key 'normal 'global (kbd "<leader>fs") 'save-buffer)
(evil-define-key 'normal 'global (kbd "<leader>fr") 'counsel-recentf)
(evil-define-key 'normal 'global (kbd "<leader>ss") 'swiper-isearch)
(evil-define-key 'normal 'global (kbd "<leader>si") 'counsel-imenu)
(evil-define-key 'normal 'global (kbd "<leader>wb") 'counsel-ibuffer)
(evil-define-key 'normal 'global (kbd "<leader><") 'counsel-ibuffer)
(evil-define-key 'normal 'global (kbd "<leader>wd") 'evil-window-delete)
(evil-define-key 'normal 'global (kbd "<leader>wK") 'evil-window-move-very-top)
(evil-define-key 'normal 'global (kbd "<leader>wk") 'evil-window-up)
(evil-define-key 'normal 'global (kbd "<leader>wj") 'evil-window-down)
(evil-define-key 'normal 'global (kbd "<leader>wJ") 'evil-window-move-very-bottom)
(evil-define-key 'normal 'global (kbd "<leader>wh") 'evil-window-left)
(evil-define-key 'normal 'global (kbd "<leader>wl") 'evil-window-right)
(evil-define-key 'normal 'global (kbd "<leader>ws") 'evil-window-split)
(evil-define-key 'normal 'global (kbd "<leader>wv") 'evil-window-vsplit)
(evil-define-key 'normal 'global (kbd "<leader>wd") 'delete-window)
(evil-define-key 'normal 'global (kbd "<leader>bd") 'kill-buffer)
(evil-define-key 'normal 'global (kbd "<leader>b]") 'next-buffer)
(evil-define-key 'normal 'global (kbd "<leader>b[") 'previous-buffer)
(evil-define-key 'normal 'global (kbd "<leader>br") 'revert-buffer)
(evil-define-key 'normal 'global (kbd "<leader>gg") 'magit-status)
(evil-define-key 'normal 'global (kbd "<leader>gt") 'git-timemachine-toggle)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment