2013-10-20 73 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'? –