我最近在我的vim配置中添加了sessionman插件,到目前为止我都喜欢它。
据我所知,当使用会话时,vim会将v:this_session
设置为会话文件名,并且我想将其添加到我的状态行。不幸的是,v:this_session
包含完整的文件路径,它通常太长,无法适应状态行。
所以我的问题是:如何在没有v:this_session
的完整路径的情况下提取文件名并将其添加到我的状态行?
谢谢。
答案 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, '[^/]*$')