在状态行中添加当前会话文件名

时间:2012-07-07 10:03:31

标签: session vim

我最近在我的vim配置中添加了sessionman插件,到目前为止我都喜欢它。

据我所知,当使用会话时,vim会将v:this_session设置为会话文件名,并且我想将其添加到我的状态行。不幸的是,v:this_session包含完整的文件路径,它通常太长,无法适应状态行。

所以我的问题是:如何在没有v:this_session的完整路径的情况下提取文件名并将其添加到我的状态行?

谢谢。

2 个答案:

答案 0 :(得分:4)

为此,Vim对文件的最后一个组件有:help filename-modifiers:t。您可以将它们与fnamemodify()函数一起使用(或expand()如果要修改内置的Vim文件标识符,例如%):

:echo fnamemodify(v:this_session, ':t')

答案 1 :(得分:1)

由于正斜杠字符在Vim上用作路径分隔符 操作系统,从完整路径获取文件名就足够了 提取路径的最后一个组件。为此,我们可以使用 matchstr()substitute()函数:

substitute(t, '^.*/', '', '')

matchstr(t, '[^/]*$')