2012-06-24 80 views
3

我不是特别满意viper模式在Emacs中的工作原理。我正在尝试写我自己的毒蛇模式。除了使用.emacs文件完成的自定义数量之外,我在Elisp中没有任何良好的编程经验。emacs中的临时密钥绑定

我想知道是否可以暂时更改Emacs中的密钥绑定,并在需要时将它们返回到原始状态。

回答

3

那么,如果我正确理解你的问题,一个简单的方法就是创建你自己的次要模式(除了你自己的具体模式),只做你的临时密钥绑定。

你给一个名称,该模式,然后切换所有临时键绑定或关闭作为调用你的命令变得简单:

M-x salsabear-minor-mode 

你可能想阅读scottfrazer的45+ upvotes在这里回答SO:

Globally override key binding in Emacs

,他解释了如何创建一个包含键绑定自己的次要模式。

1

鉴于你明确只提到毒蛇,它可能值得问你是否知道其他基于vi/vim的库存在?请参见下面的列表:

http://www.emacswiki.org/emacs/CategoryEmulation

我会嫌疑是重新发明了这个特定的车轮可能是不值得的。

我认为Evil是最活跃的项目,但如果它不能按照你想要的方式工作,那么你的努力可能会更好 - 花在增强它(如果可行)?