3

最近、sessionmanプラグインを Vim 構成に追加しましたが、今のところ気に入っています。

セッションが使用されているときにVim がセッション ファイル名に設定することを理解してv:this_sessionおり、それをステータス行に追加したいと考えています。残念ながら、v:this_session完全なファイル パスが含まれており、多くの場合、長すぎてステータス ラインに収まりません。

私の質問は次のとおりです。フルパスなしでファイル名を抽出v:this_sessionしてステータス行に追加するにはどうすればよいですか?

4

2 に答える 2

4

このために、Vim にはファイルの最後のコンポーネントの:help filename-modifiersようなものがあります。:t関数でそれらを使用できますfnamemodify()(またはexpand()、のような組み込みの Vim ファイル識別子を変更する場合%):

:echo fnamemodify(v:this_session, ':t')
于 2012-07-07T13:13:25.020 に答える
1

スラッシュ文字はすべてのオペレーティング システムの Vim でパス区切り文字として使用されるため、フル パスからファイル名を取得するには、パスの最後のコンポーネントを抽出するだけで十分です。matchstr()これを行うには、またはsubstitute()関数を使用できます 。

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

また

matchstr(t, '[^/]*$')
于 2012-07-07T11:21:36.983 に答える