如何在Emacs模式行中显示文件路径?

Sup*_*ver 3 emacs elisp

在模式行中出现我正在使用的缓冲区的名称(argf.rb):

在此输入图像描述

对于访问文件的缓冲区,是否可以显示绝对文件名(即包含路径)?

sds*_*sds 7

首先,您看到的是缓冲区名称,而不是文件名.尝试打开两个具有相同名称的文件(在不同的目录中),看看我的意思.

第二,是的,我确信这是可能的 - 只需定制mode-line-format.

第三,它可能不是一个好主意 - 模式线已经非常拥挤,而长路径将不适合.我知道现在听起来很棒,但你会在第二天讨厌它.

相反,将路径放入标题栏:

(setq frame-title-format
      '(buffer-file-name "%b - %f" ; File buffer
        (dired-directory dired-directory ; Dired buffer
         (revert-buffer-function "%b" ; Buffer Menu
          ("%b - Dir: " default-directory))))) ; Plain buffer
Run Code Online (Sandbox Code Playgroud)

  • 我还建议启用[`uniquify`](http://www.gnu.org/software/emacs/manual/html_node/emacs/Uniquify.html),当你访问多个时,它会以合理的方式更新缓冲区名称具有相同名称的文件. (2认同)
  • @PeterPrevos:`M-:缓冲区文件名RET` (2认同)