0

によって生成された SVN 非難バッファーのみにマップ:qする方法を探しています。これにより、これらの短命の読み取り専用バッファーを排除したいときに、私の運動記憶が保持されます。:bwipeoutvcscommand.vim:VCSBlame:q

バッファ名は で始まるSVN\ annotate <filename>ので、これが一致することを願っていました:

autocmd BufNew SVN\ annotate* cmap q bwipeout

ただし、バッファ名はこのパターンと一致しません。のようなバッファに対してローカルでこのマッピングを行うにはどうすればよいSVN\ annotate*ですか?

4

2 に答える 2

2

VCSCommand (これをお勧めします) は、そのバッファーに特別なファイルタイプを与えます。それは、Subversion を使用している場合、または:VCSBlameGitを使用している場合です。svnannotategitannotate

私の限られた試行から、この行はあなたが望むことを正確に行います:

autocmd FileType svnannotate cmap <buffer> q bwipeout

念のため追加しまし<buffer>たが、安全に削除できると思います。

于 2012-02-27T22:43:16.707 に答える
2

どうやら VCSCommand プラグインには と呼ばれる設定がVCSCommandDeleteOnHideあり、ゼロ以外に設定すると:bdelete、これに含まれる非表示のバッファになります:q。注: これは、すべての VCSCommand バッファーに適用されます。

let g:VCSCommandDeleteOnHide = 1

本当にバッファーの注釈だけを消去したい場合は、代わりに次のようにすることができます。

autocmd FileType svnannotate set bufhidden=wipe

見る

:h VCSCommandDeleteOnHide
:h 'bufhidden'
于 2012-02-28T14:37:46.503 に答える