5

根据 emacs 信息页面,以下是启用 iswitchb 模式的方法:

要启用 Iswitchb 模式,请键入M-x iswitchb-mode或自定义变量iswitchb-modet

所以我在我的 .emacs 中加入了以下内容:

(setq iswitchb-mode t)

但是,这似乎不起作用。在搜索了emacs wiki后,我发现我需要使用这个:

(iswitchb-mode 1)

有人可以解释为什么我需要以这种方式启用它吗?我想更好地理解 elisp 而不仅仅是从地方复制和粘贴东西。

4

1 回答 1

8

通常,模式将定义具有相同名称的变量和函数。该函数将在调用时正确设置变量,但它是打开模式的函数,而不仅仅是变量(仅跟踪模式的状态)。

在您的特定情况下,您被告知自定义变量,但您只需设置它。不同之处在于,当变量的值发生变化时,custom 知道要做什么,而 `setq' 对此一无所知。如果您查看此变量的帮助(Ch 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.
于 2009-09-14T14:16:02.700 回答