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)))
上一篇: Emacs Setting which
下一篇: Find path in grid with mostly k moves and maximum score