Emacs设置哪个

当我打开Emacs时,我想默认具有哪些功能模式。 我已将以下行添加到我的.emacs文件中。

(setq which-func-mode t) 
(setq which-function-mode t) 

当我打开一个.cpp文件并导航到一个函数的主体时,我没有看到底部状态栏中的函数名称,就像我应该那样。 如果我然后运行Mx which-function-mode,则消息是“禁用哪个函数模式”,因此它看起来像我的.emacs文件中的行需要但不是很有效。

我是否在我的.emacs文件中设置了错误的东西,或者出现其他问题?


不幸的是setq不能用于这个,因为这是一个函数,而不是一个变量。 您需要使用'customize'来设置变量,或者调用传递't'值的'which-function-mode'函数。

'定制'是emacs现在处理大多数软件包配置功能的方式。 通常在做'Mx customize-apropos'后面跟着一个软件包的名字会给你这个软件包的大部分配置选项。 如果您知道配置参数的具体名称,则还可以使用'customize-variable'转到该特定参数。 请注意,'customize-variable'中的项目本身并不总是变量 - 通常会自定义调用函数或执行其他一些活动来实际执行配置。

我想你可能想为此使用“自定义”。

M-x customize-variable<RET>
which-function-mode

应该给你如下的东西:

替代文字

将该值切换为'on',然后为当前会话设置并保存为将来的会话。 如果你不喜欢自定义,你可以从你的.emacs中调用这个函数:

(which-function-mode t)

这是在emacs 23中,但我相信22应该是类似的...对于emacs 21,我不相信定制是在默认情况下(这是很长一段时间,但我可能是错的),而且你可能会必须改用函数调用形式。


您可能需要一个挂钩来在加载文件时自动启用which-func-mode

试试像这样:


(add-hook 'c++-mode-hook '(lambda () (which-func-mode t)))

In your init.el or wherever you store your emacs configuration simply place the following line:

(which-function-mode 1)

它只应用于编程模式和组织模式。 我只在一个.txt文件中进行了测试,以确保它没有出现。 如果您需要粒度,请执行以下操作:

(add-hook 'python-mode-hook (lambda() (which-function-mode 1)))

链接地址: http://www.djcxy.com/p/63855.html

上一篇: Emacs Setting which

下一篇: Find path in grid with mostly k moves and maximum score