根据emacs信息页面,以下是启用iswitchb-mode的方法:
要启用Iswitchb模式,请键入
M-x iswitchb-mode
或自定义 变量iswitchb-mode
到t
所以我把以下内容放在我的.emacs中:
(setq iswitchb-mode t)
但是,这似乎不起作用。在搜索emacs wiki之后,我发现我需要使用它:
(iswitchb-mode 1)
有人可以解释为什么我需要以这种方式启用它吗?我想更好地理解elisp,而不仅仅是从地方复制和粘贴东西。
答案 0 :(得分:8)
通常,模式将定义变量和具有相同名称的函数。该函数将在调用时正确设置变量,但它是打开模式的函数,而不仅仅是变量(仅跟踪模式的状态)。
在您的具体情况下,您被告知告知自定义变量,但您只需设置它。不同之处在于,当变量的值发生变化时,custom知道要做某事,而'setq'对此一无所知。如果你看一下这个变量的帮助(C-h v iswitchb-mode),你会得到:
iswitchb-mode is a variable defined in `iswitchb.el'.
Its value is t
Documentation:
Non-nil if Iswitchb mode is enabled.
See the command `iswitchb-mode' for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `iswitchb-mode'.
You can customize this variable.