如何在emacs的单个缓冲区中禁用全局次要模式
我已通过启用智能选项卡模式作为全局次要模式如何在emacs的单个缓冲区中禁用全局次要模式,emacs,elisp,Emacs,Elisp,我已通过启用智能选项卡模式作为全局次要模式 (global-smart-tab-mode 1) 要在eshell模式下禁用它 (add-hook 'eshell-mode-hook (lambda () (smart-tab-mode -1))) 但它似乎不起作用,我相信这个钩子已经被执行了。 如果我在eshell中手动运行(智能选项卡模式-1),就可以了 我不知道为什么,有人能帮我吗,提前谢谢 我认为eshell模式钩子中次要模式的停用和由全局智
(global-smart-tab-mode 1)
要在eshell模式下禁用它
(add-hook 'eshell-mode-hook
(lambda ()
(smart-tab-mode -1)))
但它似乎不起作用,我相信这个钩子已经被执行了。
如果我在eshell中手动运行(智能选项卡模式-1)
,就可以了
我不知道为什么,有人能帮我吗,提前谢谢 我认为
eshell模式钩子
中次要模式的停用和由全局智能选项卡模式
引起的激活是按错误的顺序调用的
smart-tab.el的最新版本有一个
smart-tab disabled MARY modes
变量,您可以将eshell mode
添加到该变量中,即(添加到“smart-tab disabled MARY modes”eshell mode列表中)
smart-tab.el有不同的版本-您使用哪一个?如果是,则不需要添加钩子,只需通过调用
M-x customize-variable <ENTER> smart-tab-disabled-major-modes <ENTER>
M-x自定义变量智能选项卡禁用主要模式
然后将“eshell模式”添加到列表中
如果您正在使用,则有一个新功能关闭智能选项卡模式
,您可以使用该功能代替上述代码中的(智能选项卡模式-1)
。重复