Skip to content

Instantly share code, notes, and snippets.

@whiteinge
Last active December 12, 2020 06:29
Show Gist options
  • Save whiteinge/4b190ad1230508dd1562701d3ea87a3e to your computer and use it in GitHub Desktop.
Save whiteinge/4b190ad1230508dd1562701d3ea87a3e to your computer and use it in GitHub Desktop.
WIP
### mlevil
echo "-x${HOME}/.mlevil.lua"
# Normal mode
echo '-Kkmap_normal,,0'
# (define-key evil-normal-state-map "a" 'evil-append)
# (define-key evil-normal-state-map "A" 'evil-append-line)
# (define-key evil-normal-state-map "c" 'evil-change)
# (define-key evil-normal-state-map "C" 'evil-change-line)
# FIXME: these are hard-coded movements only to test.
# (define-key evil-normal-state-map "d" 'evil-delete)
echo '-kcmd_cut_by,d w,word'
echo '-kcmd_cut_by,d 0,bol'
echo '-kcmd_cut_by,d $,eol'
# (define-key evil-normal-state-map "D" 'evil-delete-line)
echo '-kcmd_cut_by,D,eol'
# (define-key evil-normal-state-map "i" 'evil-insert)
# (define-key evil-normal-state-map (kbd "<insert>") 'evil-insert)
# (define-key evil-normal-state-map (kbd "<insertchar>") 'evil-insert)
echo '-kcmd_push_kmap,i,kmap_insert'
echo '-kcmd_push_kmap,insert,kmap_insert'
# (define-key evil-normal-state-map "I" 'evil-insert-line)
# (define-key evil-normal-state-map "J" 'evil-join)
# (define-key evil-normal-state-map "m" 'evil-set-marker)
# FIXME: mle needs cmd_insert_newline_below
# (define-key evil-normal-state-map "o" 'evil-open-below)
# FIXME: need to also enter insert mode
# (define-key evil-normal-state-map "O" 'evil-open-above)
echo '-kcmd_insert_newline_above,O,'
# (define-key evil-normal-state-map "p" 'evil-paste-after)
# (define-key evil-normal-state-map "P" 'evil-paste-before)
# (define-key evil-normal-state-map "q" 'evil-record-macro)
# (define-key evil-normal-state-map "r" 'evil-replace)
# (define-key evil-normal-state-map "R" 'evil-replace-state)
# (define-key evil-normal-state-map "s" 'evil-substitute)
# (define-key evil-normal-state-map "S" 'evil-change-whole-line)
# (define-key evil-normal-state-map "x" 'evil-delete-char)
# (define-key evil-normal-state-map [deletechar] 'evil-delete-char)
# (define-key evil-normal-state-map (kbd "DEL") 'evil-backward-char)
echo '-kcmd_delete_after,x,'
echo '-kcmd_delete_after,delete,'
# (define-key evil-normal-state-map "X" 'evil-delete-backward-char)
echo '-kcmd_delete_before,X,'
# (define-key evil-normal-state-map "y" 'evil-yank)
# (define-key evil-normal-state-map "Y" 'evil-yank-line)
# (define-key evil-normal-state-map "&" 'evil-ex-repeat-substitute)
# (define-key evil-normal-state-map "g&" 'evil-ex-repeat-global-substitute)
# (define-key evil-normal-state-map "g8" 'what-cursor-position)
# (define-key evil-normal-state-map "ga" 'what-cursor-position)
# (define-key evil-normal-state-map "gi" 'evil-insert-resume)
# (define-key evil-normal-state-map "gJ" 'evil-join-whitespace)
# (define-key evil-normal-state-map "gq" 'evil-fill-and-move)
# (define-key evil-normal-state-map "gw" 'evil-fill)
# (define-key evil-normal-state-map "gu" 'evil-downcase)
# (define-key evil-normal-state-map "gU" 'evil-upcase)
# (define-key evil-normal-state-map "gf" 'find-file-at-point)
# (define-key evil-normal-state-map "gF" 'evil-find-file-at-point-with-line)
# (define-key evil-normal-state-map "gx" 'browse-url-at-point)
# (define-key evil-normal-state-map "g?" 'evil-rot13)
# (define-key evil-normal-state-map "g~" 'evil-invert-case)
# (define-key evil-normal-state-map "zo" 'evil-open-fold)
# (define-key evil-normal-state-map "zO" 'evil-open-fold-rec)
# (define-key evil-normal-state-map "zc" 'evil-close-fold)
# (define-key evil-normal-state-map "za" 'evil-toggle-fold)
# (define-key evil-normal-state-map "zr" 'evil-open-folds)
# (define-key evil-normal-state-map "zm" 'evil-close-folds)
# (define-key evil-normal-state-map "z=" 'ispell-word)
# (define-key evil-normal-state-map "\C-n" 'evil-paste-pop-next)
# (define-key evil-normal-state-map "\C-p" 'evil-paste-pop)
# (define-key evil-normal-state-map "\C-t" 'pop-tag-mark)
# (define-key evil-normal-state-map (kbd "C-.") 'evil-repeat-pop)
# (define-key evil-normal-state-map (kbd "M-.") 'evil-repeat-pop-next)
# (define-key evil-normal-state-map "." 'evil-repeat)
# (define-key evil-normal-state-map "@" 'evil-execute-macro)
# (define-key evil-normal-state-map "\"" 'evil-use-register)
# (define-key evil-normal-state-map "~" 'evil-invert-char)
# (define-key evil-normal-state-map "=" 'evil-indent)
# (define-key evil-normal-state-map "<" 'evil-shift-left)
echo '-kcmd_outdent,< <,'
# (define-key evil-normal-state-map ">" 'evil-shift-right)
echo '-kcmd_indent,> >,'
# mle prompts if modified so jump map both to the same.
# (define-key evil-normal-state-map "ZZ" 'evil-save-modified-and-close)
# (define-key evil-normal-state-map "ZQ" 'evil-quit)
echo '-kcmd_quit,Z Z,'
echo '-kcmd_quit,Z Q,'
# TODO: document this must be changed in termbox and recompiled.
# (define-key evil-normal-state-map [escape] 'evil-force-normal-state)
# (define-key evil-normal-state-map [remap cua-paste-pop] 'evil-paste-pop)
# (define-key evil-normal-state-map [remap yank-pop] 'evil-paste-pop)
# (when (featurep 'tab-bar)
# (define-key evil-normal-state-map "gt" 'tab-bar-switch-to-next-tab)
# (define-key evil-normal-state-map "gT" 'tab-bar-switch-to-prev-tab))
# ;; go to last change
# (define-key evil-normal-state-map "g;" 'goto-last-change)
# (define-key evil-normal-state-map "g," 'goto-last-change-reverse)
# ;; undo
# (define-key evil-normal-state-map "u" 'undo)
echo '-kcmd_undo,u,'
# (define-key evil-normal-state-map "\C-r" 'redo)
echo '-kcmd_redo,C-r,'
# ;; window commands
# (define-prefix-command 'evil-window-map)
# (define-key evil-window-map "b" 'evil-window-bottom-right)
# (define-key evil-window-map "c" 'evil-window-delete)
# (define-key evil-window-map "h" 'evil-window-left)
# (define-key evil-window-map "H" 'evil-window-move-far-left)
# (define-key evil-window-map "j" 'evil-window-down)
# (define-key evil-window-map "J" 'evil-window-move-very-bottom)
# (define-key evil-window-map "k" 'evil-window-up)
# (define-key evil-window-map "K" 'evil-window-move-very-top)
# (define-key evil-window-map "l" 'evil-window-right)
# (define-key evil-window-map "L" 'evil-window-move-far-right)
# (define-key evil-window-map "n" 'evil-window-new)
# (define-key evil-window-map "o" 'delete-other-windows)
# (define-key evil-window-map "p" 'evil-window-mru)
# (define-key evil-window-map "q" 'evil-quit)
echo '-kcmd_close,C-w q,'
# (define-key evil-window-map "r" 'evil-window-rotate-downwards)
# (define-key evil-window-map "R" 'evil-window-rotate-upwards)
# (define-key evil-window-map "s" 'evil-window-split)
# (define-key evil-window-map "S" 'evil-window-split)
# (define-key evil-window-map "t" 'evil-window-top-left)
# (define-key evil-window-map "v" 'evil-window-vsplit)
# (define-key evil-window-map "\C-v" 'evil-window-vsplit)
echo '-kcmd_split_vertical,C-w v,'
echo '-kcmd_split_vertical,C-w C-v,'
# (define-key evil-window-map "\C-s" 'evil-window-split)
# (define-key evil-window-map (kbd "C-S-s") 'evil-window-split)
echo '-kcmd_split_horizontal,C-w C-s,'
# (define-key evil-window-map "w" 'evil-window-next)
echo '-kcmd_next,C-w w,'
# (define-key evil-window-map "W" 'evil-window-prev)
echo '-kcmd_prev,C-w W,'
# (define-key evil-window-map "+" 'evil-window-increase-height)
# (define-key evil-window-map "-" 'evil-window-decrease-height)
# (define-key evil-window-map "_" 'evil-window-set-height)
# (define-key evil-window-map "<" 'evil-window-decrease-width)
# (define-key evil-window-map ">" 'evil-window-increase-width)
# (define-key evil-window-map "=" 'balance-windows)
# (define-key evil-window-map "|" 'evil-window-set-width)
# (define-key evil-window-map "\C-b" 'evil-window-bottom-right)
# (define-key evil-window-map "\C-c" 'evil-window-delete)
# (define-key evil-window-map (kbd "C-S-h") 'evil-window-move-far-left)
# (define-key evil-window-map (kbd "C-S-j") 'evil-window-move-very-bottom)
# (define-key evil-window-map (kbd "C-S-k") 'evil-window-move-very-top)
# (define-key evil-window-map (kbd "C-S-l") 'evil-window-move-far-right)
# (define-key evil-window-map "\C-n" 'evil-window-new)
# (define-key evil-window-map "\C-o" 'delete-other-windows)
# (define-key evil-window-map "\C-p" 'evil-window-mru)
# (define-key evil-window-map "\C-r" 'evil-window-rotate-downwards)
# (define-key evil-window-map (kbd "C-S-r") 'evil-window-rotate-upwards)
# (define-key evil-window-map "\C-t" 'evil-window-top-left)
# (define-key evil-window-map "\C-w" 'evil-window-next)
# (define-key evil-window-map (kbd "C-S-W") 'evil-window-prev)
# (define-key evil-window-map "\C-_" 'evil-window-set-height)
# (define-key evil-window-map "\C-f" 'ffap-other-window)
# ;;; Motion state
# ;; "0" is a special command when called first
# (evil-redirect-digit-argument evil-motion-state-map "0" 'evil-beginning-of-line)
echo '-kcmd_move_bol,0,'
# (define-key evil-motion-state-map "1" 'digit-argument)
# (define-key evil-motion-state-map "2" 'digit-argument)
# (define-key evil-motion-state-map "3" 'digit-argument)
# (define-key evil-motion-state-map "4" 'digit-argument)
# (define-key evil-motion-state-map "5" 'digit-argument)
# (define-key evil-motion-state-map "6" 'digit-argument)
# (define-key evil-motion-state-map "7" 'digit-argument)
# (define-key evil-motion-state-map "8" 'digit-argument)
# (define-key evil-motion-state-map "9" 'digit-argument)
# FIXME: need more word boundaries
# (define-key evil-motion-state-map "b" 'evil-backward-word-begin)
# (define-key evil-motion-state-map "B" 'evil-backward-WORD-begin)
# (define-key evil-motion-state-map "e" 'evil-forward-word-end)
# (define-key evil-motion-state-map "E" 'evil-forward-WORD-end)
# (define-key evil-motion-state-map "w" 'evil-forward-word-begin)
# (define-key evil-motion-state-map "W" 'evil-forward-WORD-begin)
echo '-kcmd_move_word_back,b,'
echo '-kcmd_move_word_back,B,'
echo '-kcmd_move_word_forward,e,'
echo '-kcmd_move_word_forward,E,'
echo '-kcmd_move_word_forward,w,'
echo '-kcmd_move_word_forward,W,'
# FIXME: need more word boundaries
# (define-key evil-motion-state-map "f" 'evil-find-char)
# (define-key evil-motion-state-map "t" 'evil-find-char-to)
# (define-key evil-motion-state-map "F" 'evil-find-char-backward)
# (define-key evil-motion-state-map "T" 'evil-find-char-to-backward)
echo '-kcmd_move_until_forward,f **,'
echo '-kcmd_move_until_forward,t **,'
echo '-kcmd_move_until_back,F **,'
echo '-kcmd_move_until_back,T **,'
# (define-key evil-motion-state-map "G" 'evil-goto-line)
echo '-kcmd_move_end,G,'
# FIXME: mle command to move the cursor to top/middle/end of window?
# (define-key evil-motion-state-map "H" 'evil-window-top)
# (define-key evil-motion-state-map "L" 'evil-window-bottom)
# (define-key evil-motion-state-map "M" 'evil-window-middle)
# (define-key evil-motion-state-map "h" 'evil-backward-char)
# (define-key evil-motion-state-map "j" 'evil-next-line)
# (define-key evil-motion-state-map (kbd "RET") 'evil-ret)
# (define-key evil-motion-state-map "k" 'evil-previous-line)
# (define-key evil-motion-state-map "l" 'evil-forward-char)
# (define-key evil-motion-state-map " " 'evil-forward-char)
# (define-key evil-motion-state-map [left] 'evil-backward-char)
# (define-key evil-motion-state-map [right] 'evil-forward-char)
# (define-key evil-motion-state-map [up] 'evil-previous-line)
# (define-key evil-motion-state-map [down] 'evil-next-line)
echo '-kcmd_move_left,h,'
echo '-kcmd_move_down,j,'
echo '-kcmd_move_up,k,'
echo '-kcmd_move_right,l,'
echo '-kcmd_move_down,enter,'
echo '-kcmd_move_right,space,'
echo '-kcmd_move_up,up,'
echo '-kcmd_move_down,down,'
echo '-kcmd_move_left,left,'
echo '-kcmd_move_right,right,'
# (define-key evil-motion-state-map "K" 'evil-lookup)
# (define-key evil-motion-state-map "n" 'evil-search-next)
echo '-kcmd_search_next,n,'
# (define-key evil-motion-state-map "N" 'evil-search-previous)
# (define-key evil-motion-state-map "y" 'evil-yank)
# (define-key evil-motion-state-map "Y" 'evil-yank-line)
# (define-key evil-motion-state-map "gd" 'evil-goto-definition)
# FIXME: need more word boundaries.
# (define-key evil-motion-state-map "ge" 'evil-backward-word-end)
# (define-key evil-motion-state-map "gE" 'evil-backward-WORD-end)
echo '-kcmd_move_word_forward,g e,'
echo '-kcmd_move_word_forward,g E,'
# (define-key evil-motion-state-map "gg" 'evil-goto-first-line)
echo '-kcmd_move_beginning,g g,'
# (define-key evil-motion-state-map "gj" 'evil-next-visual-line)
# (define-key evil-motion-state-map "gk" 'evil-previous-visual-line)
# (define-key evil-motion-state-map "g0" 'evil-beginning-of-visual-line)
# (define-key evil-motion-state-map "g_" 'evil-last-non-blank)
# (define-key evil-motion-state-map "g^" 'evil-first-non-blank-of-visual-line)
# (define-key evil-motion-state-map "gm" 'evil-middle-of-visual-line)
# (define-key evil-motion-state-map "g$" 'evil-end-of-visual-line)
# (define-key evil-motion-state-map "g\C-]" 'evil-jump-to-tag)
# (define-key evil-motion-state-map "{" 'evil-backward-paragraph)
# (define-key evil-motion-state-map "}" 'evil-forward-paragraph)
# (define-key evil-motion-state-map "#" 'evil-search-word-backward)
# (define-key evil-motion-state-map "g#" 'evil-search-unbounded-word-backward)
# (define-key evil-motion-state-map "$" 'evil-end-of-line)
echo '-kcmd_move_eol,$,'
# (define-key evil-motion-state-map "%" 'evil-jump-item)
# (define-key evil-motion-state-map "`" 'evil-goto-mark)
# (define-key evil-motion-state-map "'" 'evil-goto-mark-line)
# (define-key evil-motion-state-map "(" 'evil-backward-sentence-begin)
# (define-key evil-motion-state-map ")" 'evil-forward-sentence-begin)
# (define-key evil-motion-state-map "]]" 'evil-forward-section-begin)
# (define-key evil-motion-state-map "][" 'evil-forward-section-end)
# (define-key evil-motion-state-map "[[" 'evil-backward-section-begin)
# (define-key evil-motion-state-map "[]" 'evil-backward-section-end)
# (define-key evil-motion-state-map "[(" 'evil-previous-open-paren)
# (define-key evil-motion-state-map "])" 'evil-next-close-paren)
# (define-key evil-motion-state-map "[{" 'evil-previous-open-brace)
# (define-key evil-motion-state-map "]}" 'evil-next-close-brace)
# (define-key evil-motion-state-map "]s" 'evil-next-flyspell-error)
# (define-key evil-motion-state-map "[s" 'evil-prev-flyspell-error)
# (define-key evil-motion-state-map "*" 'evil-search-word-forward)
# (define-key evil-motion-state-map "g*" 'evil-search-unbounded-word-forward)
echo '-kcmd_find_word,*,'
echo '-kcmd_find_word,g *,'
# (define-key evil-motion-state-map "," 'evil-repeat-find-char-reverse)
# (define-key evil-motion-state-map ";" 'evil-repeat-find-char)
# (define-key evil-motion-state-map "/" 'evil-search-forward)
# (define-key evil-motion-state-map "?" 'evil-search-backward)
# FIXME: setting to toggle between case-i/sensitive search?
# FIXME: search needs to also toggle insert mode?
# echo '-kcmd_search,/,'
echo '-kcmd_isearch,/,'
# (define-key evil-motion-state-map "|" 'evil-goto-column)
# (define-key evil-motion-state-map "^" 'evil-first-non-blank)
# (define-key evil-motion-state-map "+" 'evil-next-line-first-non-blank)
# (define-key evil-motion-state-map "_" 'evil-next-line-1-first-non-blank)
# (define-key evil-motion-state-map "-" 'evil-previous-line-first-non-blank)
# (define-key evil-motion-state-map (kbd "C-6") 'evil-switch-to-windows-last-buffer)
# (define-key evil-motion-state-map "\C-]" 'evil-jump-to-tag)
# (define-key evil-motion-state-map (kbd "C-b") 'evil-scroll-page-up)
echo '-kcmd_move_page_up,C-b,'
# (define-key evil-motion-state-map (kbd "C-e") 'evil-scroll-line-down)
# FIXME:
echo '-kcmd_move_relative,C-e,d'
# (define-key evil-motion-state-map (kbd "C-f") 'evil-scroll-page-down)
echo '-kcmd_move_page_down,C-f,'
# (define-key evil-motion-state-map (kbd "C-o") 'evil-jump-backward)
# (define-key evil-motion-state-map (kbd "C-y") 'evil-scroll-line-up)
# FIXME:
echo '-kcmd_move_relative,C-e,u'
# (define-key evil-motion-state-map "\\" 'evil-execute-in-emacs-state)
# (define-key evil-motion-state-map "z^" 'evil-scroll-top-line-to-bottom)
# (define-key evil-motion-state-map "z+" 'evil-scroll-bottom-line-to-top)
# FIXME: need cmd_viewport_center
# (define-key evil-motion-state-map (kbd "z RET") (vconcat "z" [return]))
# (define-key evil-motion-state-map "zt" 'evil-scroll-line-to-top)
# (define-key evil-motion-state-map "zz" 'evil-scroll-line-to-center)
# (define-key evil-motion-state-map "zb" 'evil-scroll-line-to-bottom)
# (define-key evil-motion-state-map "z-" "zb^")
echo '-kcmd_viewport_top,z t,'
echo '-kcmd_viewport_top,z enter,'
echo '-kcmd_viewport_bot,z b,'
echo '-kcmd_viewport_bot,z -,'
# FIXME: need cmd_viewport_left/right/beginning/end
# (define-key evil-motion-state-map "zl" 'evil-scroll-column-right)
# (define-key evil-motion-state-map [?z right] "zl")
# (define-key evil-motion-state-map "zh" 'evil-scroll-column-left)
# (define-key evil-motion-state-map [?z left] "zh")
# (define-key evil-motion-state-map "zL" 'evil-scroll-right)
# (define-key evil-motion-state-map "zH" 'evil-scroll-left)
# (define-key evil-motion-state-map "v" 'evil-visual-char)
# (define-key evil-motion-state-map "V" 'evil-visual-line)
# (define-key evil-motion-state-map "\C-v" 'evil-visual-block)
# (define-key evil-motion-state-map "gv" 'evil-visual-restore)
# (define-key evil-motion-state-map (kbd "C-^") 'evil-buffer)
# ;; text objects
# (define-key evil-outer-text-objects-map "w" 'evil-a-word)
# (define-key evil-outer-text-objects-map "W" 'evil-a-WORD)
# (define-key evil-outer-text-objects-map "s" 'evil-a-sentence)
# (define-key evil-outer-text-objects-map "p" 'evil-a-paragraph)
# (define-key evil-outer-text-objects-map "b" 'evil-a-paren)
# (define-key evil-outer-text-objects-map "(" 'evil-a-paren)
# (define-key evil-outer-text-objects-map ")" 'evil-a-paren)
# (define-key evil-outer-text-objects-map "[" 'evil-a-bracket)
# (define-key evil-outer-text-objects-map "]" 'evil-a-bracket)
# (define-key evil-outer-text-objects-map "B" 'evil-a-curly)
# (define-key evil-outer-text-objects-map "{" 'evil-a-curly)
# (define-key evil-outer-text-objects-map "}" 'evil-a-curly)
# (define-key evil-outer-text-objects-map "<" 'evil-an-angle)
# (define-key evil-outer-text-objects-map ">" 'evil-an-angle)
# (define-key evil-outer-text-objects-map "'" 'evil-a-single-quote)
# (define-key evil-outer-text-objects-map "\"" 'evil-a-double-quote)
# (define-key evil-outer-text-objects-map "`" 'evil-a-back-quote)
# (define-key evil-outer-text-objects-map "t" 'evil-a-tag)
# (define-key evil-outer-text-objects-map "o" 'evil-a-symbol)
# (define-key evil-inner-text-objects-map "w" 'evil-inner-word)
# (define-key evil-inner-text-objects-map "W" 'evil-inner-WORD)
# (define-key evil-inner-text-objects-map "s" 'evil-inner-sentence)
# (define-key evil-inner-text-objects-map "p" 'evil-inner-paragraph)
# (define-key evil-inner-text-objects-map "b" 'evil-inner-paren)
# (define-key evil-inner-text-objects-map "(" 'evil-inner-paren)
# (define-key evil-inner-text-objects-map ")" 'evil-inner-paren)
# (define-key evil-inner-text-objects-map "[" 'evil-inner-bracket)
# (define-key evil-inner-text-objects-map "]" 'evil-inner-bracket)
# (define-key evil-inner-text-objects-map "B" 'evil-inner-curly)
# (define-key evil-inner-text-objects-map "{" 'evil-inner-curly)
# (define-key evil-inner-text-objects-map "}" 'evil-inner-curly)
# (define-key evil-inner-text-objects-map "<" 'evil-inner-angle)
# (define-key evil-inner-text-objects-map ">" 'evil-inner-angle)
# (define-key evil-inner-text-objects-map "'" 'evil-inner-single-quote)
# (define-key evil-inner-text-objects-map "\"" 'evil-inner-double-quote)
# (define-key evil-inner-text-objects-map "`" 'evil-inner-back-quote)
# (define-key evil-inner-text-objects-map "t" 'evil-inner-tag)
# (define-key evil-inner-text-objects-map "o" 'evil-inner-symbol)
# (define-key evil-motion-state-map "gn" 'evil-next-match)
# (define-key evil-motion-state-map "gN" 'evil-previous-match)
# (when evil-want-C-i-jump
# (define-key evil-motion-state-map (kbd "C-i") 'evil-jump-forward))
# (when evil-want-C-u-scroll
# (define-key evil-motion-state-map (kbd "C-u") 'evil-scroll-up))
# (when evil-want-C-d-scroll
# (define-key evil-motion-state-map (kbd "C-d") 'evil-scroll-down))
# ;;; Visual state
# (define-key evil-visual-state-map "A" 'evil-append)
# (define-key evil-visual-state-map "I" 'evil-insert)
# (define-key evil-visual-state-map "o" 'exchange-point-and-mark)
# (define-key evil-visual-state-map "O" 'evil-visual-exchange-corners)
# (define-key evil-visual-state-map "R" 'evil-change)
# (define-key evil-visual-state-map "u" 'evil-downcase)
# (define-key evil-visual-state-map "U" 'evil-upcase)
# (define-key evil-visual-state-map "z=" 'ispell-word)
# (define-key evil-visual-state-map "a" evil-outer-text-objects-map)
# (define-key evil-visual-state-map "i" evil-inner-text-objects-map)
# (define-key evil-visual-state-map (kbd "<insert>") 'undefined)
# (define-key evil-visual-state-map (kbd "<insertchar>") 'undefined)
# (define-key evil-visual-state-map [remap evil-repeat] 'undefined)
# (define-key evil-visual-state-map [escape] 'evil-exit-visual-state)
# ;;; Operator-Pending state
# (define-key evil-operator-state-map "a" evil-outer-text-objects-map)
# (define-key evil-operator-state-map "i" evil-inner-text-objects-map)
# ;; (define-key evil-operator-state-map [escape] 'keyboard-quit)
# FIXME:
echo '-kcmd_quit,C-x,'
echo '-kcmd_lua_test,F11,blah'
# Insert mode
echo '-Kkmap_insert,cmd_insert_data,0'
echo '-kcmd_pop_kmap,escape,'
echo '-kcmd_pop_kmap,C-c,'
# ;;; Insert state
# (defvar evil-insert-state-bindings
# `(("\C-v" . quoted-insert)
# ("\C-k" . evil-insert-digraph)
# ("\C-o" . evil-execute-in-normal-state)
# ("\C-r" . evil-paste-from-register)
# ("\C-y" . evil-copy-from-above)
# ("\C-e" . evil-copy-from-below)
# ("\C-n" . evil-complete-next)
# ("\C-p" . evil-complete-previous)
# ("\C-x\C-n" . evil-complete-next-line)
# ("\C-x\C-p" . evil-complete-previous-line)
# ("\C-t" . evil-shift-right-line)
# ("\C-d" . evil-shift-left-line)
# ("\C-a" . evil-paste-last-insertion)
# ([remap delete-backward-char] . evil-delete-backward-char-and-join)
# ,(if evil-want-C-w-delete
# '("\C-w" . evil-delete-backward-word)
# '("\C-w" . evil-window-map))
# ,@(when evil-want-C-u-delete
# '(("\C-u" . evil-delete-back-to-indentation)))
# ([mouse-2] . mouse-yank-primary))
# "Evil's bindings for insert state (for
# `evil-insert-state-map'), excluding <delete>, <escape>, and
# `evil-toggle-key'.")
# (defun evil-update-insert-state-bindings (&optional _option-name remove force)
# "Update bindings in `evil-insert-state-map'.
# If no arguments are given add the bindings specified in
# `evil-insert-state-bindings'. If REMOVE is non nil, remove only
# these bindings. Unless FORCE is non nil, this will not
# overwriting existing bindings, which means bindings will not be
# added if one already exists for a key and only default bindings
# are removed.
# Note that <delete>, <escape> and `evil-toggle-key' are not
# included in `evil-insert-state-bindings' by default."
# (interactive)
# (dolist (binding evil-insert-state-bindings)
# (cond
# ((and remove
# (or force
# ;; Only remove if the default binding has not changed
# (eq (evil-lookup-key evil-insert-state-map (car binding))
# (cdr binding))))
# (define-key evil-insert-state-map (car binding) nil))
# ((and (null remove)
# (or force
# ;; Check to see that nothing is bound here before adding
# (not (evil-lookup-key evil-insert-state-map (car binding)))))
# (define-key evil-insert-state-map (car binding) (cdr binding))))))
# (define-key evil-insert-state-map [delete] 'delete-char)
# (define-key evil-insert-state-map [escape] 'evil-normal-state)
# (define-key evil-insert-state-map
# (read-kbd-macro evil-toggle-key) 'evil-emacs-state)
# ;;; Replace state
# (define-key evil-replace-state-map (kbd "DEL") 'evil-replace-backspace)
# (define-key evil-replace-state-map [escape] 'evil-normal-state)
# ;;; Emacs state
# (define-key evil-emacs-state-map
# (read-kbd-macro evil-toggle-key) 'evil-exit-emacs-state)
# (when evil-want-C-w-in-emacs-state
# (define-key evil-emacs-state-map "\C-w" 'evil-window-map))
# ;;; Mouse
# (define-key evil-motion-state-map [down-mouse-1] 'evil-mouse-drag-region)
# (define-key evil-visual-state-map [mouse-2] 'evil-exit-visual-and-repeat)
# (define-key evil-normal-state-map [mouse-2] 'mouse-yank-primary)
# ;; Ex
# (define-key evil-motion-state-map ":" 'evil-ex)
# (define-key evil-motion-state-map "!" 'evil-shell-command)
# (evil-ex-define-cmd "e[dit]" 'evil-edit)
# (evil-ex-define-cmd "w[rite]" 'evil-write)
# (evil-ex-define-cmd "wa[ll]" 'evil-write-all)
# (evil-ex-define-cmd "sav[eas]" 'evil-save)
# (evil-ex-define-cmd "r[ead]" 'evil-read)
# (evil-ex-define-cmd "b[uffer]" 'evil-buffer)
# (evil-ex-define-cmd "bn[ext]" 'evil-next-buffer)
# (evil-ex-define-cmd "bp[revious]" 'evil-prev-buffer)
# (evil-ex-define-cmd "bN[ext]" "bprevious")
# (evil-ex-define-cmd "sb[uffer]" 'evil-split-buffer)
# (evil-ex-define-cmd "sbn[ext]" 'evil-split-next-buffer)
# (evil-ex-define-cmd "sbp[revious]" 'evil-split-prev-buffer)
# (evil-ex-define-cmd "sbN[ext]" "sbprevious")
# (evil-ex-define-cmd "buffers" 'buffer-menu)
# (evil-ex-define-cmd "files" 'evil-show-files)
# (evil-ex-define-cmd "ls" "buffers")
# (evil-ex-define-cmd "c[hange]" 'evil-change)
# (evil-ex-define-cmd "co[py]" 'evil-copy)
# (evil-ex-define-cmd "t" "copy")
# (evil-ex-define-cmd "m[ove]" 'evil-move)
# (evil-ex-define-cmd "d[elete]" 'evil-ex-delete)
# (evil-ex-define-cmd "y[ank]" 'evil-ex-yank)
# (evil-ex-define-cmd "go[to]" 'evil-goto-char)
# (evil-ex-define-cmd "j[oin]" 'evil-ex-join)
# (evil-ex-define-cmd "le[ft]" 'evil-align-left)
# (evil-ex-define-cmd "ri[ght]" 'evil-align-right)
# (evil-ex-define-cmd "ce[nter]" 'evil-align-center)
# (evil-ex-define-cmd "sp[lit]" 'evil-window-split)
# (evil-ex-define-cmd "vs[plit]" 'evil-window-vsplit)
# (evil-ex-define-cmd "new" 'evil-window-new)
# (evil-ex-define-cmd "ene[w]" 'evil-buffer-new)
# (evil-ex-define-cmd "vne[w]" 'evil-window-vnew)
# (evil-ex-define-cmd "clo[se]" 'evil-window-delete)
# (evil-ex-define-cmd "on[ly]" 'delete-other-windows)
# (evil-ex-define-cmd "q[uit]" 'evil-quit)
# (evil-ex-define-cmd "wq" 'evil-save-and-close)
# (evil-ex-define-cmd "quita[ll]" 'evil-quit-all)
# (evil-ex-define-cmd "qa[ll]" "quitall")
# (evil-ex-define-cmd "cq[uit]" 'evil-quit-all-with-error-code)
# (evil-ex-define-cmd "wqa[ll]" 'evil-save-and-quit)
# (evil-ex-define-cmd "xa[ll]" "wqall")
# (evil-ex-define-cmd "x[it]" 'evil-save-modified-and-close)
# (evil-ex-define-cmd "exi[t]" 'evil-save-modified-and-close)
# (evil-ex-define-cmd "bd[elete]" 'evil-delete-buffer)
# (evil-ex-define-cmd "bw[ipeout]" 'evil-delete-buffer)
# (evil-ex-define-cmd "g[lobal]" 'evil-ex-global)
# (evil-ex-define-cmd "v[global]" 'evil-ex-global-inverted)
# (evil-ex-define-cmd "norm[al]" 'evil-ex-normal)
# (evil-ex-define-cmd "s[ubstitute]" 'evil-ex-substitute)
# (evil-ex-define-cmd "&" 'evil-ex-repeat-substitute)
# (evil-ex-define-cmd "&&" 'evil-ex-repeat-substitute-with-flags)
# (evil-ex-define-cmd "~" 'evil-ex-repeat-substitute-with-search)
# (evil-ex-define-cmd "~&" 'evil-ex-repeat-substitute-with-search-and-flags)
# (evil-ex-define-cmd "registers" 'evil-show-registers)
# (evil-ex-define-cmd "marks" 'evil-show-marks)
# (evil-ex-define-cmd "delm[arks]" 'evil-delete-marks)
# (evil-ex-define-cmd "ju[mps]" 'evil-show-jumps)
# (evil-ex-define-cmd "noh[lsearch]" 'evil-ex-nohighlight)
# (evil-ex-define-cmd "f[ile]" 'evil-show-file-info)
# (evil-ex-define-cmd "<" 'evil-shift-left)
# (evil-ex-define-cmd ">" 'evil-shift-right)
# (evil-ex-define-cmd "=" 'evil-ex-line-number)
# (evil-ex-define-cmd "!" 'evil-shell-command)
# (evil-ex-define-cmd "@:" 'evil-ex-repeat)
# (evil-ex-define-cmd "mak[e]" 'evil-make)
# (evil-ex-define-cmd "cc" 'evil-goto-error)
# (evil-ex-define-cmd "cfir[st]" 'first-error)
# (evil-ex-define-cmd "cr[ewind]" 'first-error)
# (evil-ex-define-cmd "cn[ext]" 'next-error)
# (evil-ex-define-cmd "cp[revious]" 'previous-error)
# (evil-ex-define-cmd "set-initial-state" 'evil-ex-set-initial-state)
# (evil-ex-define-cmd "show-digraphs" 'evil-ex-show-digraphs)
# (evil-ex-define-cmd "sor[t]" 'evil-ex-sort)
# (evil-ex-define-cmd "res[ize]" 'evil-ex-resize)
# (when (featurep 'tab-bar)
# (evil-ex-define-cmd "tabnew" 'tab-bar-new-tab)
# (evil-ex-define-cmd "tabn[ext]" 'tab-bar-switch-to-next-tab)
# (evil-ex-define-cmd "tabp[revious]" 'tab-bar-switch-to-prev-tab))
# ;; search command line
# (define-key evil-ex-search-keymap "\d" #'evil-ex-delete-backward-char)
# (define-key evil-ex-search-keymap "\C-f" 'evil-ex-search-command-window)
# (define-key evil-ex-search-keymap "\C-r" 'evil-paste-from-register)
# (define-key evil-ex-search-keymap "\C-n" 'next-history-element)
# (define-key evil-ex-search-keymap "\C-p" 'previous-history-element)
# ;; ex command line
# (define-key evil-ex-completion-map "\d" #'evil-ex-delete-backward-char)
# (define-key evil-ex-completion-map "\t" #'evil-ex-completion)
# (define-key evil-ex-completion-map [tab] #'evil-ex-completion)
# (define-key evil-ex-completion-map [remap completion-at-point] #'evil-ex-completion)
# (define-key evil-ex-completion-map "\C-a" 'evil-ex-completion)
# (define-key evil-ex-completion-map "\C-b" 'move-beginning-of-line)
# (define-key evil-ex-completion-map "\C-c" 'abort-recursive-edit)
# (define-key evil-ex-completion-map "\C-d" 'evil-ex-completion)
# (define-key evil-ex-completion-map "\C-f" 'evil-ex-command-window)
# (define-key evil-ex-completion-map "\C-g" 'abort-recursive-edit)
# (define-key evil-ex-completion-map "\C-k" 'evil-insert-digraph)
# (define-key evil-ex-completion-map "\C-l" 'evil-ex-completion)
# (define-key evil-ex-completion-map "\C-p" #'previous-complete-history-element)
# (define-key evil-ex-completion-map "\C-r" 'evil-paste-from-register)
# (define-key evil-ex-completion-map "\C-n" #'next-complete-history-element)
# (define-key evil-ex-completion-map "\C-u" 'evil-delete-whole-line)
# (define-key evil-ex-completion-map "\C-v" #'quoted-insert)
# (define-key evil-ex-completion-map "\C-w" 'backward-kill-word)
# (define-key evil-ex-completion-map [escape] 'abort-recursive-edit)
# (define-key evil-ex-completion-map [S-left] 'backward-word)
# (define-key evil-ex-completion-map [S-right] 'forward-word)
# (define-key evil-ex-completion-map [up] 'previous-complete-history-element)
# (define-key evil-ex-completion-map [down] 'next-complete-history-element)
# (define-key evil-ex-completion-map [prior] 'previous-history-element)
# (define-key evil-ex-completion-map [next] 'next-history-element)
# (define-key evil-ex-completion-map [return] 'exit-minibuffer)
# (define-key evil-ex-completion-map (kbd "RET") 'exit-minibuffer)
# ;; evil-read-key
# (define-key evil-read-key-map (kbd "ESC") #'keyboard-quit)
# (define-key evil-read-key-map (kbd "C-]") #'keyboard-quit)
# (define-key evil-read-key-map (kbd "C-g") #'keyboard-quit)
# (define-key evil-read-key-map (kbd "C-q") #'evil-read-quoted-char)
# (define-key evil-read-key-map (kbd "C-v") #'evil-read-quoted-char)
# (define-key evil-read-key-map (kbd "C-k") #'evil-read-digraph-char)
# (define-key evil-read-key-map "\r" "\n")
# ;; command line window
# (evil-define-key 'normal
# evil-command-window-mode-map (kbd "RET") 'evil-command-window-execute)
# (evil-define-key 'insert
# evil-command-window-mode-map (kbd "RET") 'evil-command-window-execute)
# (provide 'evil-maps)
# ;;; evil-maps.el ends here
# default mode
echo '-nkmap_normal'
# -----------------------------------------------------------------------------
# mle command help
# notes
# C- means Ctrl
# M- means Alt
# cmd_x=(default) means unmatched input is handled by cmd_x
# (allow_fallthru)=yes means unmatched input is handled by the parent kmap
# mode stack
# mle_normal (current)
# mode mle_normal
# (allow_fallthru) no
# cmd_insert_data (default)
# cmd_show_help F2
# cmd_delete_before backspace
# cmd_delete_before backspace2
# cmd_delete_after delete
# cmd_insert_newline_above M-i
# cmd_move_bol C-a
# cmd_move_bol home
# cmd_move_eol C-e
# cmd_move_eol end
# cmd_move_beginning M-\
# cmd_move_end M-/
# cmd_move_left left
# cmd_move_right right
# cmd_move_up up
# cmd_move_down down
# cmd_move_page_up page-up
# cmd_move_page_down page-down
# cmd_move_to_line M-g
# cmd_move_relative M-y ## u up
# cmd_move_relative M-y ## d down
# cmd_move_until_forward M-' **
# cmd_move_until_back M-; **
# cmd_move_word_forward M-f
# cmd_move_word_back M-b
# cmd_move_bracket_forward M-]
# cmd_move_bracket_back M-[
# cmd_move_bracket_toggle M-=
# cmd_search C-f
# cmd_search_next C-g
# cmd_find_word C-v
# cmd_isearch C-r
# cmd_replace C-t
# cmd_cut C-k
# cmd_copy M-k
# cmd_uncut C-u
# cmd_redraw M-x l
# cmd_push_kmap M-x p
# cmd_pop_kmap M-x P
# cmd_less M-l
# cmd_viewport_top M-9
# cmd_viewport_toggle C-l
# cmd_viewport_bot M-0
# cmd_copy_by C-c d bracket
# cmd_copy_by C-c w word
# cmd_copy_by C-c s word_back
# cmd_copy_by C-c f word_forward
# cmd_copy_by C-c a bol
# cmd_copy_by C-c e eol
# cmd_copy_by C-c c string
# cmd_copy_by C-c q all
# cmd_cut_by C-d d bracket
# cmd_cut_by C-d w word
# cmd_cut_by C-d s word_back
# cmd_cut_by C-d f word_forward
# cmd_cut_by C-d a bol
# cmd_cut_by C-d e eol
# cmd_cut_by C-d c string
# cmd_cut_by C-d q all
# cmd_anchor_by C-2 d bracket
# cmd_anchor_by C-2 w word
# cmd_anchor_by C-2 s word_back
# cmd_anchor_by C-2 f word_forward
# cmd_anchor_by C-2 a bol
# cmd_anchor_by C-2 e eol
# cmd_anchor_by C-2 c string
# cmd_anchor_by C-2 q all
# cmd_delete_word_before C-w
# cmd_delete_word_after M-d
# cmd_toggle_anchor M-a
# cmd_drop_sleeping_cursor C-/ .
# cmd_wake_sleeping_cursors C-/ a
# cmd_remove_extra_cursors C-/ /
# cmd_drop_cursor_column C-/ '
# cmd_apply_macro M-z
# cmd_apply_macro_by M-m **
# cmd_next M-n
# cmd_prev M-p
# cmd_split_vertical M-v
# cmd_split_horizontal M-h
# cmd_grep M-q
# cmd_fsearch C-p
# cmd_browse C-b
# cmd_blist C-\
# cmd_undo C-z
# cmd_redo C-y
# cmd_save C-s
# cmd_save_as M-s
# cmd_set_opt M-o a tab_to_space
# cmd_set_opt M-o t tab_width
# cmd_set_opt M-o y syntax
# cmd_set_opt M-o w soft_wrap
# cmd_open_new C-n
# cmd_open_file C-o
# cmd_open_replace_new C-q n
# cmd_open_replace_file C-q o
# cmd_fsearch C-q p replace
# cmd_indent M-.
# cmd_outdent M-,
# cmd_ctag F3
# cmd_shell M-e
# cmd_perl M-w
# cmd_jump M-j
# cmd_close M-c
# cmd_suspend F4
# cmd_quit C-x
# mode mle_prompt_input
# (allow_fallthru) yes
# _editor_prompt_input_submit enter
# _editor_prompt_input_complete tab
# _editor_prompt_cancel C-c
# _editor_prompt_cancel C-x
# _editor_prompt_cancel M-c
# _editor_prompt_history_up up
# _editor_prompt_history_down down
# mode mle_prompt_yn
# (allow_fallthru) no
# _editor_prompt_yn_yes y
# _editor_prompt_yn_no n
# _editor_prompt_cancel C-c
# _editor_prompt_cancel C-x
# _editor_prompt_cancel M-c
# mode mle_prompt_yna
# (allow_fallthru) no
# _editor_prompt_yn_yes y
# _editor_prompt_yn_no n
# _editor_prompt_yna_all a
# _editor_prompt_cancel C-c
# _editor_prompt_cancel C-x
# _editor_prompt_cancel M-c
# mode mle_prompt_ok
# (allow_fallthru) no
# _editor_prompt_cancel (default)
# mode mle_menu
# (allow_fallthru) yes
# _editor_menu_submit enter
# _editor_menu_cancel C-c
# mode mle_prompt_isearch
# (allow_fallthru) yes
# _editor_prompt_isearch_prev up
# _editor_prompt_isearch_next down
# _editor_prompt_isearch_viewport_up page-up
# _editor_prompt_isearch_viewport_down page-down
# _editor_prompt_isearch_drop_cursors C-/
# _editor_prompt_cancel enter
# _editor_prompt_cancel C-c
# _editor_prompt_cancel C-x
# _editor_prompt_cancel M-c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment