121 lines
2.7 KiB
EmacsLisp
121 lines
2.7 KiB
EmacsLisp
(require 'meow)
|
|
|
|
|
|
(defun meow-setup ()
|
|
(setq meow-cheatsheet-physical-layout meow-cheatsheet-physical-layout-iso)
|
|
(setq meow-cheatsheet-layout meow-cheatsheet-layout-qwertz)
|
|
|
|
(meow-thing-register 'angle
|
|
'(pair (";") (":"))
|
|
'(pair (";") (":")))
|
|
|
|
(setq meow-char-thing-table
|
|
'((?f . round)
|
|
(?d . square)
|
|
(?s . curly)
|
|
(?a . angle)
|
|
(?r . string)
|
|
(?p . paragraph)
|
|
(?l . line)
|
|
(?b . buffer)))
|
|
|
|
(meow-leader-define-key
|
|
;; 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
|
|
;; expansion
|
|
'("0" . meow-expand-0)
|
|
'("1" . meow-expand-1)
|
|
'("2" . meow-expand-2)
|
|
'("3" . meow-expand-3)
|
|
'("4" . meow-expand-4)
|
|
'("5" . meow-expand-5)
|
|
'("6" . meow-expand-6)
|
|
'("7" . meow-expand-7)
|
|
'("8" . meow-expand-8)
|
|
'("9" . meow-expand-9)
|
|
'("ä" . meow-reverse)
|
|
|
|
;; movement
|
|
'("h" . meow-left)
|
|
'("j" . meow-next)
|
|
'("k" . meow-prev)
|
|
'("l" . meow-right)
|
|
|
|
|
|
;; expansion
|
|
'("H" . meow-left-expand)
|
|
'("J" . meow-next-expand)
|
|
'("K" . meow-prev-expand)
|
|
'("L" . meow-right-expand)
|
|
|
|
'("/" . meow-visit)
|
|
'("-" . meow-search)
|
|
|
|
'("w" . meow-next-word)
|
|
'("W" . meow-next-symbol)
|
|
'("b" . meow-back-word)
|
|
'("B" . meow-back-symbol)
|
|
|
|
'("z" . meow-mark-word)
|
|
'("Z" . meow-mark-symbol)
|
|
'("x" . meow-line)
|
|
'("X" . meow-goto-line)
|
|
'("m" . meow-block)
|
|
'("q" . meow-join)
|
|
'("g" . meow-grab)
|
|
'("G" . meow-pop-grab)
|
|
'("m" . meow-swap-grab)
|
|
'("M" . meow-sync-grab)
|
|
'("v" . meow-cancel-selection)
|
|
'("V" . meow-pop-selection)
|
|
|
|
'("f" . meow-till)
|
|
'("F" . meow-find)
|
|
|
|
'("," . meow-beginning-of-thing)
|
|
'("." . meow-end-of-thing)
|
|
'(";" . meow-inner-of-thing)
|
|
'(":" . meow-bounds-of-thing)
|
|
|
|
;; editing
|
|
'("D" . meow-kill)
|
|
'("c" . meow-change)
|
|
'("d" . meow-delete)
|
|
'("C" . meow-save)
|
|
'("p" . meow-yank)
|
|
'("P" . meow-yank-pop)
|
|
|
|
'("i" . meow-insert)
|
|
'("O" . meow-open-above)
|
|
'("a" . meow-append)
|
|
'("o" . meow-open-below)
|
|
|
|
'("u" . undo-only)
|
|
'("U" . undo-redo)
|
|
|
|
'("n" . open-line)
|
|
'("N" . split-line)
|
|
|
|
'("ü" . indent-rigidly-left-to-tab-stop)
|
|
'("+" . indent-rigidly-right-to-tab-stop)
|
|
|
|
;; ignore escape
|
|
'("<escape>" . ignore)))
|
|
|
|
(with-eval-after-load 'meow
|
|
(meow-setup)
|
|
(meow-global-mode 1))
|
|
(provide 'init-meow)
|