我正在尝试使用Evil模式的Emacs.
我想C-w用作我自己的全局定义的窗口操作快捷方式的前缀,而不仅仅是用于具有Evil模式的缓冲区.我在init.el中有以下代码
(define-prefix-command 'my-window-map)
(global-set-key (kbd "C-w") 'my-window-map)
(define-key my-window-map (kbd "h") 'windmove-left)
(define-key my-window-map (kbd "j") 'windmove-down)
(define-key my-window-map (kbd "k") 'windmove-up)
(define-key my-window-map (kbd "l") 'windmove-right)
(define-key my-window-map (kbd "v") 'split-window-right)
(define-key my-window-map (kbd "b") 'split-window-below)
(define-key my-window-map (kbd "x") 'delete-window)
(define-key my-window-map (kbd "o") 'delete-other-windows)
Run Code Online (Sandbox Code Playgroud)
如果没有加载Evil,这是有效的,但是当我加载Evil时,它会覆盖任何冲突的地图(C-w b例如).
我还可以从evil-maps.el中注释出L106-158和L236 ,我的地图可以工作,但我宁愿不处理修改evil-maps.el.
有没有办法阻止Evil使用C-w前缀,或者之后取消设置?