我使用Colemak键盘布局,而传统的Vim'hjkl'不太舒服。在我的.vimrc文件中,我添加了以下内容,将“hjkl”替换为“neio”(反之亦然)。

noremap n h
noremap e j
noremap i k
noremap o l

noremap h n
noremap j e
noremap k i
noremap l o

noremap N H
noremap E J
noremap I K
noremap O l

noremap H N
noremap J E
noremap K I
noremap L O

如果可能,如何在Emacs中使用Spacemacs做到这一点?

最佳答案

这是hjklevil-maps.el绑定(bind)的方式:

(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 "k" 'evil-previous-line)
(define-key evil-motion-state-map "l" 'evil-forward-char)

您可以在init.el中用自己的键放置相似的行,以将方向绑定(bind)到所需的任何键。您还需要重新绑定(bind)hjkl,假设您不希望它们留在其原始方向绑定(bind)中。

编辑:用hjkl替换neio,我相信您需要在i中解除绑定(bind)oevil-normal-state-map:
(define-key evil-normal-state-map "i" nil)
(define-key evil-normal-state-map "o" nil)

09-03 18:46