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



:help statusline声明%f将呈现为:

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

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

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

可能有更好的方法,但你可以试试这个:

set stl+=%{expand('%:~:.')}

应计算%{}中的表达式并将其添加到状态行中。这里的表达式是:

expand('%:~:.')

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

%f的解释下方,你会发现F的解释。使用%F而不是%f将为您提供所需的显示。

item  meaning ~
f S   Path to the file in the buffer, as typed or relative to current
directory.
F S   Full path to the file in the buffer.

你可以键入:!echo %来查看shell中的路径

:pwd显示了 vim 的当前工作目录

最新更新