在Vim的状态栏中显示当前编辑文件的相对路径?

Dun*_*eal 6 vim

:help statusline索赔%f将呈现为:

缓冲区中文件的路径,以键入的形式或相对于当前目录的形式出现。

当I时set statusline=%f,状态栏中的路径有时是相对的,但通常是绝对的。

有没有办法确保显示的路径始终是相对的?

use*_*573 6

也许有更好的方法,但是您可以尝试以下方法:

set stl+=%{expand('%:~:.')}
Run Code Online (Sandbox Code Playgroud)

%{}应该评估其中的表达式并将其添加到您的状态行。这里的表达式是:

expand('%:~:.')
Run Code Online (Sandbox Code Playgroud)

...扩展了当前文件的名称,但阻止了波浪号(:~)的扩展,并建立了相对于当前工作目录(:.)的路径。