evil 自定义映射征集

似乎很多人都同意Vim键位有一些历史包袱,并不是非常高效。我最近也有点不满足于默认的映射了。

希望能参考参考大家的自定义映射。

我目前做的自定义只有(忘了是谁说的)把s替换成avy-goto-timerC-i映射到evil-scroll-up

http://ergoemacs.org/misc/ergoemacs_vi_mode.html

更新了下 https://emacs-china.org/t/topic/5241

我放棄了x s S ; H L M原生功能

  ;; Rebind surround to S instead of s, so we can use s for avy
  (evil-define-key 'operator evil-surround-mode-map "S" 'evil-surround-edit)
  (evil-define-key 'visual evil-surround-mode-map "S" 'evil-surround-region)
  (evil-snipe-mode -1)

  ;; avy
  (evil-define-key '(normal motion) global-map "s" #'avy-goto-char-timer)
  (evil-define-key '(visual operator) evil-surround-mode-map "s" #'avy-goto-char-timer)
  (setq avy-timeout-seconds 0.2)


    "C-j" #'my-xref/find-definitions
    "C-," #'my-xref/find-references

    ";" (lambda () (interactive) (avy-goto-char-timer) (my-xref/find-definitions))
    "x;" (lambda () (interactive) (avy-goto-char-timer) (my-xref/find-references))
    "L" #'lsp-ui-peek-jump-backward

    "M-<" #'previous-error
    "M->" #'next-error

x我已經換作lsp-ui和cquery快捷鍵

1 个赞

我用 evil-snipe

spacemacs 有 evil-snipe layer

evil-snipe挺好的,不过我一般直接用f,大不了多按几次; :smile:

我原來motion-state s用evil-snipe (evil-snipe-override-mode +1),後來改成avy-goto-char-timer

給avy提了一個issue,如果按照距離把overlay keys固定,體驗能更好些