首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在emacs术语模式下禁用包。

在emacs术语模式下禁用包。
EN

Stack Overflow用户
提问于 2013-10-27 21:04:28
回答 4查看 2.2K关注 0票数 2

我有一套(邪恶的)套餐,对安西来说不太好。我试图让emacs禁用邪恶模式时,术语模式是活跃的。我正在使用以下命令来尝试这样做

代码语言:javascript
复制
(add-hook 'term-mode-hook (lambda() (evil-mode -1)) )

然而,这在某种程度上禁用了每一种模式中的邪恶模式,除非在我打开ansi期限后使用术语模式。任何帮助都将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-06 17:07:04

我不能在我的设置上复制这个(Emacs24.3,来自MELPA的最新邪恶)。试试这个:

代码语言:javascript
复制
(add-hook 'term-mode-hook 'evil-emacs-state)

代码语言:javascript
复制
(add-hook 'term-mode-hook 'evil-insert-state)

这对我有用。(我通常使用插入状态,因为我可以快速跳转到正常状态)。

票数 5
EN

Stack Overflow用户

发布于 2013-10-28 04:13:45

快速查看代码就会发现,evil-mode是一个全局次要模式,因此它会影响所有缓冲区。

函数turn-on-evil-modeturn-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)允许您为指定的主要模式配置默认状态。

因此,除非不兼容性比键绑定运行得更深,否则在加载了邪恶库之后,我想下面的内容会起作用:

代码语言:javascript
复制
(evil-set-initial-state 'term-mode "emacs")
票数 5
EN

Stack Overflow用户

发布于 2013-10-27 22:39:59

我很惊讶地复制了这个潜在的错误。

解决方案之一是在术语缓冲区中使用C-z;它将突破邪恶模式。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19623545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档