summaryrefslogtreecommitdiff
path: root/pkgs/sorremacs/emacs.el
diff options
context:
space:
mode:
authorMiran Bastaja <miran.bastaja04@gmail.com>2024-09-14 09:01:31 +0200
committerMiran Bastaja <miran.bastaja04@gmail.com>2024-09-14 10:21:20 +0200
commit15a14c10068e815cb44e38e0f69ba661cbc01ac3 (patch)
tree04801208314277f1e872dddf2e985a3b3d0afb2d /pkgs/sorremacs/emacs.el
parent8a0b76fa9de43857e2eb593995422b171c550b56 (diff)
sorremacs: add meow mode
Diffstat (limited to 'pkgs/sorremacs/emacs.el')
-rw-r--r--pkgs/sorremacs/emacs.el84
1 files changed, 82 insertions, 2 deletions
diff --git a/pkgs/sorremacs/emacs.el b/pkgs/sorremacs/emacs.el
index b24424a..642b7bc 100644
--- a/pkgs/sorremacs/emacs.el
+++ b/pkgs/sorremacs/emacs.el
@@ -23,7 +23,6 @@
(when (version< emacs-version "26.3")
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3"))
-(setq-default cursor-type 'bar) ; Line-style cursor similar to other text editors
(setq inhibit-startup-screen t) ; Disable startup screen
(setq initial-scratch-message "") ; Make *scratch* buffer blank
(setq-default frame-title-format '("%b")) ; Make window title the buffer name
@@ -162,6 +161,87 @@
(lisp-interaction-mode . enable-paredit-mode)
(ielm-mode . enable-paredit-mode)))
-;;; --- Various major modes --- ;;;
(use-package nix-mode
:mode "\\.nix\\'")
+
+(use-package meow
+ :init
+ (defun meow-setup ()
+ (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty)
+ (meow-motion-overwrite-define-key
+ '("j" . meow-next)
+ '("k" . meow-prev)
+ '("<escape>" . ignore))
+ (meow-leader-define-key
+ ;; SPC j/k will run the original command in MOTION state.
+ '("j" . "H-j")
+ '("k" . "H-k")
+ ;; Use SPC (0-9) for digit arguments.
+ '("1" . meow-digit-argument)
+ '("2" . meow-digit-argument)
+ '("3" . meow-digit-argument)
+ '("4" . meow-digit-argument)
+ '("5" . meow-digit-argument)
+ '("6" . meow-digit-argument)
+ '("7" . meow-digit-argument)
+ '("8" . meow-digit-argument)
+ '("9" . meow-digit-argument)
+ '("0" . meow-digit-argument)
+ '("/" . meow-keypad-describe-key)
+ '("?" . meow-cheatsheet))
+ (meow-normal-define-key
+ '("0" . meow-expand-0)
+ '("9" . meow-expand-9)
+ '("8" . meow-expand-8)
+ '("7" . meow-expand-7)
+ '("6" . meow-expand-6)
+ '("5" . meow-expand-5)
+ '("4" . meow-expand-4)
+ '("3" . meow-expand-3)
+ '("2" . meow-expand-2)
+ '("1" . meow-expand-1)
+ '("-" . negative-argument)
+ '(";" . meow-reverse)
+ '("," . meow-inner-of-thing)
+ '("." . meow-bounds-of-thing)
+ '("[" . meow-beginning-of-thing)
+ '("]" . meow-end-of-thing)
+ '("a" . meow-append)
+ '("o" . meow-open-below)
+ '("b" . meow-back-word)
+ '("c" . meow-change)
+ '("d" . meow-delete)
+ '("g" . meow-cancel-selection)
+ '("G" . meow-grab)
+ '("h" . meow-left)
+ '("H" . meow-left-expand)
+ '("i" . meow-insert)
+ '("j" . meow-next)
+ '("J" . meow-next-expand)
+ '("k" . meow-prev)
+ '("K" . meow-prev-expand)
+ '("l" . meow-right)
+ '("L" . meow-right-expand)
+ '("m" . meow-join)
+ '("n" . meow-search)
+ '("O" . meow-to-block)
+ '("p" . meow-yank)
+ '("q" . meow-quit)
+ '("Q" . meow-goto-line)
+ '("r" . meow-replace)
+ '("R" . meow-swap-grab)
+ '("s" . meow-kill)
+ '("t" . meow-till)
+ '("u" . meow-undo)
+ '("U" . meow-undo-in-selection)
+ '("v" . meow-visit)
+ '("w" . meow-next-word)
+ '("x" . meow-line)
+ '("Y" . meow-sync-grab)
+ '("z" . meow-pop-selection)
+ '("'" . repeat)
+ '("<escape>" . ignore)))
+ :config
+ (meow-setup)
+ (meow-setup-indicator)
+ (meow-global-mode 1))