根据emacs信息页面,这是启用iswitchb-mode的方法:



因此,我在.emacs中添加了以下内容:

(setq iswitchb-mode t)

但是,这似乎不起作用。搜索emacs Wiki之后,我发现我需要使用以下代码:
(iswitchb-mode 1)

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

最佳答案

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

在您的特定情况下,系统会告诉您定制变量,但是您只需对其进行设置即可。不同之处在于,当变量的值更改时,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.

关于emacs - 为什么我要以这种方式启动iswitchb模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1421688/

10-10 23:31