3

MacVim では、タブの名前は、そのタブで最後に開かれたバッファの名前に設定されているように見えます。これは、分割を使用するときに混乱を招きます。タブ名をタブの左上のウィンドウに固定するにはどうすればよいですか?

4

2 に答える 2

4

次の関数は、左上のウィンドウにロードされたバッファの名前を返します。

function! GuiTabLabel()
    return bufname(winbufnr(1))
endfunction

guitablabelMacVim について言及したので、 を使用して、定義した関数に設定できます。

set guitablabel=%{GuiTabLabel()}

上記の関数の問題は、作業ディレクトリによっては、タブ名が左上のバッファ内のファイルのフル パスに設定され、かなり長くなる可能性があることです。

パスを破棄して、ファイル名のみを使用するように関数を変更します。

function! GuiTabLabel()
    return fnamemodify(bufname(winbufnr(1)), ":t")
endfunction

これを永続化するには、関数を .vimrc で定義し、関数の後に:

set guitablabel=%!GuiTabLabel()

しかし、MacVim を使用している場合、単純なセットが機能しません。MacVim のスタートアップが私の変更を上書きしているようです。.gvimrc に設定すると、MacVim で機能ます。:scriptnamesWindows gvim :verbose set guitablabel.

詳細:help setting-guitablabelとより複雑な関数の例については、 を参照してください。:help fname-modifiersその他のパス修飾子オプションについては、を参照してください。

于 2012-07-21T20:12:38.713 に答える
3

次のようなものを使用できます

au BufEnter * set guitablabel=%{fnamemodify(bufname(winbufnr(1)), ":t")}

詳細については:help statusline、 および:help guitablabelを参照してください。これは基本的に、タブ ラベルを左上のウィンドウの名前に設定します。これの残りは:help...、、、、BufEnterなどにfnamemodify(あります。bufname(winbufnr(

于 2012-07-21T19:51:36.063 に答える