2013-10-20 35 views
0

我是新来的Emacs。我安装了邪恶模式的Emacs 24.3.1。我想结合gw作为前缀的各种evil-window功能。例如,我想gwl到窗口集中到右边,和gwh该窗口的左侧。当然,这是在Vim中完成,像这样:nnoremap gw <c-w>绑定emacs的邪恶窗口命令,G字头

.emacs.d/config/init-bindings.el,我说:

(define-key evil-normal-state-map (kbd "g w h") 'evil-window-left) 
    (define-key evil-normal-state-map (kbd "g w j") 'evil-window-down) 
    (define-key evil-normal-state-map (kbd "g w k") 'evil-window-up) 
    (define-key evil-normal-state-map (kbd "g w l") 'evil-window-right) 
    (define-key evil-normal-state-map (kbd "g w v") 'evil-window-vnew) 

和Emacs报告这个错误:

error: Key sequence g w h starts with non-prefix key g w 
  • 我如何gw一个前缀键?
  • 没有任何理由,这可能是一个糟糕的主意(与重要的Emacs默认冲突)?

回答

2

阅读您的问题(而不是你的答案),我成功地映射gwh邪恶窗口左执行以下操作:

  • gw绑定到一个动作?要求帮助,C-h-k gw告诉我,是的。
  • gz不大,因此使用gzh工作开箱:

    (define-key evil-normal-state-map (kbd "gzh") 'evil-window-left) 
    
  • 所以允许使用gwh解映射gw

    (define-key evil-normal-state-map "gw" nil) 
    (define-key evil-normal-state-map (kbd "gwh") 'evil-window-left) 
    

PS:你还在可以填充段落Mq

pps:I我喜欢用超级键windmove更多:)

(require 'windmove) 
    (windmove-default-keybindings 'super) 
+0

谢谢,我想我是缺少关键信息是,'(定义键邪恶的常态地图“GW”零)'是这样的去解除邪恶......我想。另外,'C-h-k gw'无限期地等待一个终止键(按回车使它读取输入为'gw ')。任何想法如何让它接受'gw'? –