我打开Emacs时默认打开哪个功能模式.我已将以下行添加到我的.emacs文件中.
(setq which-func-mode t) (setq which-function-mode t)
当我打开.cpp文件并导航到函数体时,我没有像我应该在底部的状态栏中看到函数名.如果我然后运行Mx功能模式,则消息为"禁用了哪个功能模式",因此它看起来像我的.emacs文件中的行,但不是很有效.
我在.emacs文件中设置了错误的内容还是出了别的问题?
不幸的是,setq不能用于此,因为这是一个函数,而不是变量.您需要使用'customize'来设置变量,或者调用'which-function-mode'函数传递't'的值.
'customize'是emacs现在处理大多数软件包功能的方式.经常做'Mx customize-apropos'后跟一个包的名称将为你提供该包的大部分配置选项.如果您知道配置参数的特定名称,还可以使用"customize-variable"转到该特定参数.请注意,'customize-variable'中的项目本身并不总是变量 - 通常自定义调用函数或执行一些其他活动来实际执行配置.
我想你可能想要使用'自定义'.
M-x customize-variablewhich-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)))