Created
January 23, 2022 18:58
-
-
Save VitalyAnkh/30e302b0a7bfdf6569a3895b793308d6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(map! :leader | |
;; make doom-leader-buffer-map alive | |
(:prefix-map ("b" . "buffer") | |
:desc "Toggle narrowing" "-" #'doom/toggle-narrow-buffer | |
:desc "Previous buffer" "[" #'previous-buffer | |
:desc "Next buffer" "]" #'next-buffer | |
(:when (featurep! :ui workspaces) | |
:desc "Switch workspace buffer" "b" #'persp-switch-to-buffer | |
:desc "Switch buffer" "B" #'switch-to-buffer) | |
(:unless (featurep! :ui workspaces) | |
:desc "Switch buffer" "b" #'switch-to-buffer) | |
:desc "Clone buffer" "c" #'clone-indirect-buffer | |
:desc "Clone buffer other window" "C" #'clone-indirect-buffer-other-window | |
:desc "Kill buffer" "d" #'kill-current-buffer | |
:desc "ibuffer" "i" #'ibuffer | |
:desc "Kill buffer" "k" #'kill-current-buffer | |
:desc "Kill all buffers" "K" #'doom/kill-all-buffers | |
:desc "Switch to last buffer" "l" #'evil-switch-to-windows-last-buffer | |
:desc "Set bookmark" "m" #'bookmark-set | |
:desc "Delete bookmark" "M" #'bookmark-delete | |
:desc "Next buffer" "n" #'next-buffer | |
:desc "New empty buffer" "N" #'evil-buffer-new | |
:desc "Kill other buffers" "O" #'doom/kill-other-buffers | |
:desc "Previous buffer" "p" #'previous-buffer | |
:desc "Revert buffer" "r" #'revert-buffer | |
:desc "Save buffer" "s" #'basic-save-buffer | |
:desc "Save all buffers" "S" #'evil-write-all | |
:desc "Save buffer as root" "u" #'doom/sudo-save-buffer | |
:desc "Pop up scratch buffer" "x" #'doom/open-scratch-buffer | |
:desc "Switch to scratch buffer" "X" #'doom/switch-to-scratch-buffer | |
:desc "Bury buffer" "z" #'bury-buffer | |
:desc "Kill buried buffers" "Z" #'doom/kill-buried-buffers) | |
) | |
(defun set-useful-keybindings() | |
(define-key doom-leader-workspaces/windows-map (kbd "t") 'treemacs-select-window) | |
(global-set-key (kbd "M-j") 'kmacro-start-macro-or-insert-counter) | |
(global-set-key (kbd "M-k") 'kmacro-end-or-call-macro) | |
) | |
(defun meow-setup () | |
(set-useful-keybindings) | |
(map! | |
(:when (featurep! :ui workspaces) | |
:n "C-t" #'+workspace/new | |
:n "C-S-t" #'+workspace/display | |
:g "M-1" #'+workspace/switch-to-0 | |
:g "M-2" #'+workspace/switch-to-1 | |
:g "M-3" #'+workspace/switch-to-2 | |
:g "M-4" #'+workspace/switch-to-3 | |
:g "M-5" #'+workspace/switch-to-4 | |
:g "M-6" #'+workspace/switch-to-5 | |
:g "M-7" #'+workspace/switch-to-6 | |
:g "M-8" #'+workspace/switch-to-7 | |
:g "M-9" #'+workspace/switch-to-8 | |
:g "M-0" #'+workspace/switch-to-final | |
)) | |
(setq meow-cheatsheet-layout meow-cheatsheet-layout-qwerty) | |
(meow-motion-overwrite-define-key | |
'("j" . meow-next) | |
'("k" . meow-prev)) | |
(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) | |
;; (cons "f" doom-leader-file-map) | |
;; ;;(cons "a" org-agenda-keymap ) | |
;; (cons "d" doom-leader-code-map) | |
;; (cons "s" doom-leader-search-map) | |
;; (cons "b" doom-leader-buffer-map) | |
;; (cons "o" doom-leader-open-map) | |
;; (cons "v" doom-leader-versioning-map) | |
;; (cons "n" doom-leader-notes-map) | |
;; (cons "p" projectile-command-map) | |
;; (cons "i" doom-leader-insert-map) | |
;; (cons "q" doom-leader-quit/restart-map) | |
;; (cons "h" help-map) | |
;; (cons "t" doom-leader-toggle-map) | |
;; (cons "w" doom-leader-workspaces/windows-map) | |
;; (cons "S" doom-leader-snippets-map) | |
;;(cons "M" doom-leader-multiple-cursors-map) | |
) | |
(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) | |
'("/" . meow-visit) | |
'("a" . meow-append) | |
'("A" . meow-join) | |
'("b" . meow-back-word) | |
'("B" . meow-back-symbol) | |
'("c" . meow-change) | |
'("d" . meow-delete) | |
'("D" . meow-backward-delete) | |
'("e" . meow-next-symbol) | |
'("E" . meow-mark-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-mark-word) | |
'("M" . meow-mark-symbol) | |
'("n" . meow-search) | |
'("o" . meow-block) | |
'("O" . meow-to-block) | |
'("p" . meow-yank) | |
'("q" . meow-open-below) | |
'("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-grab) | |
'("w" . meow-next-word) | |
'("x" . meow-line) | |
'("X" . meow-line-expand) | |
'("y" . meow-save) | |
'("Y" . meow-sync-grab) | |
'("z" . meow-pop-selection) | |
'("'" . repeat) | |
'("\\" . quoted-insert) | |
;;'("<escape>" . mode-line-other-buffer) | |
) | |
;; Let =C-[= be the =ESC= of =evil= in =meow=: | |
(defun meow-insert-define-key (&rest keybindings) | |
"Define key for insert state. | |
Usage: | |
(meow-insert-define-key | |
'(\"C-<space>\" . meow-insert-exit))" | |
(mapcar (lambda (key-ref) | |
(define-key meow-insert-state-keymap | |
(kbd (car key-ref)) | |
(meow--parse-def (cdr key-ref)))) | |
keybindings)) | |
(meow-insert-define-key | |
'("\C-[" . meow-insert-exit)) | |
(setq meow-expand-exclude-mode-list nil) | |
(setq meow-expand-hint-remove-delay 1024) | |
(define-key input-decode-map (kbd "C-[") [control-bracketleft]) | |
(define-key meow-insert-state-keymap [control-bracketleft] 'meow-insert-exit) | |
(setq meow-use-clipboard t | |
meow-visit-sanitize-completion nil | |
meow-expand-exclude-mode-list nil | |
meow-expand-hint-remove-delay 1024 | |
) | |
(add-to-list 'meow-mode-state-list '(hexl-mode . normal)) | |
) | |
(use-package meow | |
:defer t | |
:config | |
(require 'meow) | |
(meow-setup) | |
(meow-global-mode 1) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment