evil-set-leader vs general.el for SPC based keybindings

This page summarizes the projects mentioned and recommended in the original post on /r/emacs

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • GNU Emacs

    Mirror of GNU Emacs

  • use-package should be considered built-in in near future: https://github.com/emacs-mirror/emacs/tree/0d2fdf6e36d35e7ab64d8894e8d4c27b0cc06875/lisp/use-package

  • evil

    The extensible vi layer for Emacs.

  • ;; (setq debug-on-error t) (setq warning-minimum-level :error) ; don't show warning buffer unless error ;; REQUIRE PACKAGES AND CONFIGURE THEM (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize) ;; no littering (keep ~/.emacs.d from being generated so ~/.config path used) (require 'no-littering) ;; KEEP FILES UP TO DATE (GOOD FOR GIT BRANCHES) (global-auto-revert-mode t) ;; CONFIGURE BACKUP FILE BEHAVIOR (setq backup-dir (getenv "EMACS_BACKUP_DIR")) (setq backup-by-copying t) ; don't clobber symlinks (setq version-control t) ; use versioned backups (setq kept-old-versions 2) (setq kept-new-versions 4) (setq delete-old-versions t) (setq backup-directory-alist `((".*" . ,backup-dir))) ;(setq auto-save-file-name-transforms ; `((".*" ,backup-dir t))) ;; ORG MODE ; allow TAB to control folding in org-mode, see: ; https://jeffkreeftmeijer.com/emacs-evil-org-tab/ (setq evil-want-C-i-jump nil) ; needed before evil loaded (add-hook 'org-mode-hook 'org-indent-mode) ; always pretty indent ;; EVIL MODE (setq evil-want-integration t) ; optional since already t by default (setq evil-want-keybinding nil) (require 'evil) (when (require 'evil-collection nil t) (evil-collection-init)) (evil-mode 1) (evil-set-undo-system 'undo-redo) ; built-in undo-redo as evil backend ; start terminals in normal state by default so leader buffer navigation is more ; consistent ;(evil-set-initial-state 'term-mode 'normal) ; absolute garbage ; fix "v$" to exlcude newline (https://github.com/emacs-evil/evil/issues/897) (setq evil-v$-excludes-newline t) ; replace only in visual selection (setq evil-ex-visual-char-range t) ; built in solution for single line ; solution for visual block mode uses leader key below (evil-visual-replace-visual-bindings) ; leader key (largely used to replace C-x commands) (evil-set-leader nil (kbd "SPC")) ; window movement (evil-define-key 'normal 'global (kbd "o") 'other-window) (evil-define-key 'normal 'global (kbd "wh") 'windmove-left) (evil-define-key 'normal 'global (kbd "wj") 'windmove-down) (evil-define-key 'normal 'global (kbd "wk") 'windmove-up) (evil-define-key 'normal 'global (kbd "wl") 'windmove-right) ; buffer select, buffer list, find file, delete window (evil-define-key 'normal 'global (kbd "b") 'switch-to-buffer) (evil-define-key 'normal 'global (kbd "B") 'list-buffers) (evil-define-key 'normal 'global (kbd "f") 'find-file) (evil-define-key 'normal 'global (kbd "0") 'delete-window) ; definition jumping (gd already goes to definition) (evil-define-key 'normal 'global (kbd "gD") 'xref-pop-marker-stack) ; allow replacement only in selection for visual block mode (evil-define-key 'visual 'global (kbd "vbr") 'evil-visual-replace-replace-regexp) ; commenting (evil-define-key '(normal visual) 'global (kbd "gc") 'smart-comment) ; indentation (evil-define-key '(normal visual) 'global (kbd "gi") 'indent-region) ; statusline commands (available as ":") (evil-ex-define-cmd "done" 'save-buffers-kill-emacs) (evil-ex-define-cmd "at" 'open-ansi-term) (evil-ex-define-cmd "rb" 'rename-buffer) (evil-ex-define-cmd "hsp" 'split-window-below) (evil-ex-define-cmd "sw" 'rotate-frame) (evil-ex-define-cmd "tp" 'transpose-frame) (evil-ex-define-cmd "rshp" 'reshape-window)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts