From d43a6ee1229891bd19bbfdd71a6c2b49ac0fbd5b Mon Sep 17 00:00:00 2001 From: Luis Guilherme Coelho Date: Sun, 9 Jun 2024 02:26:33 -0300 Subject: [PATCH] radio: files: emacs: Setup meow mode --- .../radio/files/.config/emacs/init.el | 107 ++++++++++++++++-- 1 file changed, 95 insertions(+), 12 deletions(-) diff --git a/home-environments/radio/files/.config/emacs/init.el b/home-environments/radio/files/.config/emacs/init.el index c53f0d7..cdc3728 100644 --- a/home-environments/radio/files/.config/emacs/init.el +++ b/home-environments/radio/files/.config/emacs/init.el @@ -29,13 +29,13 @@ ;; Profile emacs startup (add-hook 'emacs-startup-hook (lambda () (message - "*:** Emacs loaded in %s seconds with %d garbage collections." - (emacs-init-time "%.2f") - gcs-done))) + "*:** Emacs loaded in %s seconds with %d garbage collections." + (emacs-init-time "%.2f") + gcs-done))) ;; Disable compiler and large file warnings - (setq native-comp-async-report-warnings-errors nil - large-file-warning-threshold nil) +(setq native-comp-async-report-warnings-errors nil + large-file-warning-threshold nil) ;; Remove start message and scratch message (setq inhibit-startup-message t @@ -102,14 +102,97 @@ ;; IRC (setq circe-nick "anemofilia") -(setq circe-channels '("#emacs" - "#gnu" - "#guile" - "#guix" - "#libreboot")) +(setq circe-channels + '("#emacs" "#gnu" "#guile" "#guix" "#libreboot")) -;; EMMS -(setq emms-player-list '(emms-player-mpv)) +(require 'meow) +(defun meow-setup () + (setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty) + (apply 'meow-motion-overwrite-define-key + '(("j" . meow-next) + ("k" . meow-prev) + ("" . ignore))) + (apply '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))) + (apply '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) + ("A" . meow-open-below) + ("b" . meow-back-word) + ("B" . meow-back-symbol) + ("c" . meow-change) + ("d" . meow-delete) + ("D" . meow-backward-delete) + ("e" . meow-next-word) + ("E" . meow-next-symbol) + ("f" . meow-find) + ("g" . meow-cancel-selection) + ("G" . meow-grab) + ("h" . meow-left) + ("H" . meow-left-expand) + ("i" . meow-insert) + ("I" . meow-open-above) + ("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-block) + ("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-mark-word) + ("W" . meow-mark-symbol) + ("x" . meow-line) + ("X" . meow-goto-line) + ("y" . meow-save) + ("Y" . meow-sync-grab) + ("z" . meow-pop-selection) + ("'" . repeat) + ("" . ignore)))) +(meow-setup) +(meow-global-mode) ;(require 'setup) ;(setup-define :pkg