Emacs:菜单栏模式和工具栏模式自动设置为t

时间:2012-02-24 01:09:18

标签: emacs elisp emacs24

我已经在我的系统上编译和构建了Emacs24。之后,我的一些.emacs自定义设置已停止工作。

最重要的问题是:我将菜单栏模式和工具栏模式设置为零。

;;; No Menu Bar
(menu-bar-mode nil)
;;; No tool bar
(tool-bar-mode nil)

;;; No Scrollbar
(scroll-bar-mode nil)

但是如果我启动Emacs,它们总是设置为t。

更糟糕的是:如果我使用迷你缓冲区将其设置为nil,然后转到临时并键入menu-bar-mode并评估表达式,它总是将其更改为t。

为什么这可能是问题的任何想法,我该如何解决?

2 个答案:

答案 0 :(得分:25)

试试这些

 (tool-bar-mode -1)
 (menu-bar-mode -1)
 (scroll-bar-mode -1)

更新:
通常,应该给出禁用次要模式的否定参数。请参阅emacs手册page。 (使用emacs类型:C-h r m次要模式RET

答案 1 :(得分:11)

历史上,传递给次模式的nil参数意味着切换次模式(即,您使用的代码可能会启用或禁用每个mior模式,具体取决于加载.emacs之前的初始值)。 在Emacs-24中,我改变了这个,所以nil意味着无条件地“启用”。

这个决定是因为nil通常在没有提供arg时发生,如(flyspell-mode)或(add-hook'text-mode-hook'flyspell-mode),在这些情况下,用户通常的意思是“启用”而不是“切换”。