Emacs 状态栏中的函数

Emacs 状态栏中的函数,emacs,elisp,Emacs,Elisp,我在.emacs文件中设置了状态栏的格式: (setq-default mode-line-format '("" mode-line-modified "" mode-line-buffer-identification "-" global-mode-string "" "[" mode-name "." mode-line-process "." minor-mode-alist "" "%n"

我在.emacs文件中设置了状态栏的格式:

(setq-default    mode-line-format
         '("" mode-line-modified "" 
           mode-line-buffer-identification "-" 
           global-mode-string "" 
           "[" mode-name "." mode-line-process "." minor-mode-alist "" "%n" "]" 
           line-number-mode   "-" "L%l" 
           column-number-mode "-" "C%c" 
           "-" "%P" "-"
           abbreviated-file-name 
           "%-"
           )
         )
我还使用以下命令在状态栏中显示函数名:

(add-hook 'c-mode-common-hook 
  (lambda ()
    (which-function-mode t)))
不幸的是,这两个片段不能共存。 如果我保留第一个格式,那么我将无法看到函数名


是否有办法重新写入上述内容,使其具有格式和函数名?

模式行杂项信息
恢复为您的模式行格式

一般来说,我会非常小心从模式行中删除数据,除非针对非常特定的数据段

i、 e.如果您仍希望明确指定
全局模式字符串
,则从
模式行杂项信息
中删除该字符串,而不是从模式行中删除
模式行杂项信息


编辑:以上内容与Emacs 24相关;请参阅有关以前版本的评论。

感谢您的回复。你能详细说明我需要做什么吗?我应该在模式行格式代码的末尾添加“模式行杂项信息”吗?最简单的方法是将
全局模式字符串
替换为
模式行杂项信息
(因为后者包含前者,并且是
哪个函数模式所使用的容器。我认为您应该检查默认的
模式行格式
,与您的自定义格式相比,并确保您没有遗漏其他有用的组件。但是,在尝试较旧的emacs时,这在emacs 24.3.1上是有效的(23.3.1)仍然没有函数名。谷歌会不会“模式行杂项信息”查看是否在较新的emacs版本中对其进行了重命名。在emacs 23.3.1中,它看起来像默认的
模式行格式中直接包含的
功能模式
支持。整个模式行对于emacs 24和
模式行杂项信息
(和其他)显然更加模块化以前的版本中不存在。您可能希望在Emacs 23模式行格式中包含以下组件:
(哪个func模式(“哪个func格式”)