我有一套(邪恶的)套餐,对安西来说不太好。我试图让emacs禁用邪恶模式时,术语模式是活跃的。我正在使用以下命令来尝试这样做
(add-hook 'term-mode-hook (lambda() (evil-mode -1)) )然而,这在某种程度上禁用了每一种模式中的邪恶模式,除非在我打开ansi期限后使用术语模式。任何帮助都将不胜感激。
发布于 2013-11-06 17:07:04
我不能在我的设置上复制这个(Emacs24.3,来自MELPA的最新邪恶)。试试这个:
(add-hook 'term-mode-hook 'evil-emacs-state)或
(add-hook 'term-mode-hook 'evil-insert-state)这对我有用。(我通常使用插入状态,因为我可以快速跳转到正常状态)。
发布于 2013-10-28 04:13:45
快速查看代码就会发现,evil-mode是一个全局次要模式,因此它会影响所有缓冲区。
函数turn-on-evil-mode和turn-off-evil-mode只为当前缓冲区启用或禁用邪恶(这些函数启用或禁用evil-local-mode,这是每一个缓冲区模式),但是全局次要模式在模式挂钩运行后启用自己(参见automatically disable a global minor mode for a specific major mode),因此最好查看全局模式是否有某些内置支持,以便在特定情况下禁用自身。
在邪恶模式的情况下,各种“状态”选项似乎有助于这一点,“Emacs状态”("emacs")禁用所有邪恶键绑定,(evil-set-initial-state MODE STATE)允许您为指定的主要模式配置默认状态。
因此,除非不兼容性比键绑定运行得更深,否则在加载了邪恶库之后,我想下面的内容会起作用:
(evil-set-initial-state 'term-mode "emacs")发布于 2013-10-27 22:39:59
我很惊讶地复制了这个潜在的错误。
解决方案之一是在术语缓冲区中使用C-z;它将突破邪恶模式。
https://stackoverflow.com/questions/19623545
复制相似问题