我刚刚开始自定义emacs。如果我想在emacs中启用某些模式(全局),我需要在.emacs文件中放入一些代码。 对于可视模式,代码将是(全局 - 可视 - 线 - 模式t)。但是相同的语法不适用于show-paren-mode之类的东西。 那么有没有办法认识到语法必须用于全局启用模式?或者它是必须知道的东西?
答案 0 :(得分:4)
使用Emacs帮助系统:
M-x describe-function RET show-paren-mode RET
...或使用菜单栏中的“帮助”菜单:
Help => Describe => Describe Function... show-paren-mode RET
,,,或键盘绑定:
C-h f describe-function RET show-paren-mode RET
最后,请考虑使用Emacs的“自定义”包(M-x customize RET
),它会在您的.emacs
文件中保留许多设置。或者从菜单栏中选择特定选项:
Options => Customize Emacs => Specific Option...
此外,在输入迷你缓冲区时,输入零个或多个字符后跟TAB
将提供完成选项。
答案 1 :(得分:3)
通常有用的答案是使用customize
。他们你不必知道确切的语法(甚至根本不知道任何Elisp);只需勾选复选框并启用所有会话。
如果你真的关心Elisp,那么遗憾的是有三种不同的惯例。
(activate-mode)
或(name-of-mode t)
。(toggle-mode -1)
无条件开启。(setq mode-variable t)
并且模式会知道激活自身。这是一个边缘案例。答案 2 :(得分:2)
我认为次要模式是否全局只是特定于该模式,所以要回答你的问题,你必须知道哪些是全局的,哪些是特定于缓冲区的。
我不确定如何编写代码来执行此操作(我对Emacs Lisp有点新)但是当您使用您选择的特定主要模式时,您可以编写一个钩子以启用次要模式。查看这个的Emacs信息页面,一切都在那里。
根据我的理解,非全局的次要模式是缓冲区特定的,因为它们可能不方便(如编写代码时的flyspell模式:D)