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

时间:2017-07-21 00:09:31

标签: vim

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

  

缓冲区中文件的路径,类型为当前目录或相对于当前目录。

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

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

3 个答案:

答案 0 :(得分:5)

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

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

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

expand('%:~:.')

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

答案 1 :(得分:3)

%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.

答案 2 :(得分:1)

您可以输入:!echo %来查看shell中的路径

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