微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim – 在Emacs viper模式下禁用ESC为meta?

我是一个长期的 vim用户,试图切换到emacs.

我在emacs中使用viper-mode并且我一直在键入ESC(退出插入模式)然后键入一个键(比如说j).我打字很快,经常同时打它们.然后Emacs认为我正在击中Meta-j并运行一个我不打算的功能.

我喜欢使用选项作为元,并且当我在毒蛇时,不关心ESC曾经是元.

任何人都有关于如何在毒蛇模式下完全禁用ESC为Meta的建议?

这是我尝试过的一些相关选项.这些都没有解决问题.

(setq viper-no-multiple-ESC t)                                                                                   
(setq viper-translate-all-ESC-keysequences t)                                                                        
(setq viper-fast-keyseq-timeout 0)

解决方法

我在同一条船上,这个问题一直阻止我尝试emacs很长一段时间.但我终于有时间去调查,并认为我有一个解决方案/解决方法.

在查看viper的源代码之后,我意识到对于我找到的所有文档都是一致的,viper-translate-all-ESC-keysequences是一个函数.因此,设置具有相同名称的变量将不起作用.

所以现在我在我的.emacs文件中的(需要’vimpulse)行之后(defun viper-translate-all-ESC-keysequences()nil).而且我似乎可以尽可能多地发送我的ESC密钥.为什么文档如此误导我不知道,但是现在我至少可以尝试使用此解决方法的emacs.希望这可以帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐