2009-12-06 23 views
7

我從六搬到Emacs和使用毒蛇和vimpulse,越煩,當我C-w C-w到一個窗口,不能回到原來的使用相同的命令,因爲另一個緩衝區,這可能是一個幫助緩衝區,不在Viper模式下。我怎樣才能解決這個問題?蝰蛇模式

我試過其他方式添加到毒蛇結構,使與毒蛇模式在默認情況下使用鉤開始:

(add-to-list viper-vi-state-mode-list 'help-mode) 
(add-hook 'help-mode (lambda() (setq viper-mode t)))

但是,這些命令沒有工作。事實上,第一個產生以下錯誤:

 
Warning (initialization): An error occurred while loading `/home/konrad/.emacs.d/init.el': 

Wrong type argument: symbolp, (fundamental-mode ... 

除了C-w C-w,我也將失去不能夠使用hjkl導航。是不是有辦法重用毒蛇設置鍵綁定,而不是再次重新綁定他們的每一個模式?

回答

3

添加掛鉤,以幫助模式是這樣的語法:

(add-hook 'help-mode-hook (lambda() (viper-mode t))) 

注鉤變量命名爲「-hook」,而setq不在這裏工作了,因爲viper-mode是一個命令,而不是一個變量。

你也許能夠得到所有的模式來激活毒蛇與:

(add-hook 'fundamental-mode-hook (lambda() (viper-mode t))) 

因爲所有模式的基本模式繼承。

+0

這些都不爲我工作。 – Dave 2013-06-12 17:39:51

3

這個錯誤是因爲你忽視了引用變量viper-vi-state-mode-list像這樣:

(add-to-list 'viper-vi-state-mode-list 'help-mode) 

this question,爲什麼你需要引用'viper-vi-state-mode-list

但是,這並沒有解決這個問題對我來說,我這是怎麼了CW CW工作,你想要的方式:在什麼我發現

(define-key help-mode-map (kbd "C-w C-w") 'vimpulse-cycle-windows) 
+0

不應該出現在「看這個問題。」有關係嗎? – Yoo 2009-12-08 11:22:16

+0

鏈接是「毒蛇-VI-狀態模式列表上,我交鋒另一個鏈接這是直觀的一個。 – 2009-12-08 15:12:17