23

バッファを修正して、vimウィンドウからバッファを削除する唯一の方法がバッファを閉じるようにすることはできますか?

たとえば、vimウィンドウにファイルシステムを表示するNERDtreeプラグインを使用しています。クイックフィックスコマンドを使用する前にフォーカスを他のウィンドウに変更するのを忘れると、erroneusファイルがファイルツリーを置き換えてしまうことがあります。(NERDtreeのウィンドウのデフォルト幅はわずか31であることは言うまでもありません)

編集:

この質問で私が達成しようとしているのは、vim内のEclipseのビューとエディターの概念をシミュレートすることです。この用語では、NERDTree(および情報のみを表示するように設定された他のプラグイン)はビューであり、他のウィンドウはエディターです。

4

2 に答える 2

1

これは正確な答えではありませんが、失敗した場合、Ctrl-^ はバッファーの内容の変更を元に戻します。

于 2011-06-06T11:33:42.303 に答える
1

これを行う自動コマンドを作成しました。以下を vimrc に追加すると、NERDtree バッファーが上書きされなくなります。

autocmd BufEnter * if bufname("#") =~ "NERD_tree" && bufname("%") !~ "NERD_tree" | b# | endif

自動コマンドは、新しいバッファが開かれるたびに実行されます。以前のバッファが NERDtree で、現在のバッファが NERDtree ではないことが検出された場合、NERDtree バッファに戻り、基本的に NERDtree を所定の位置に「ロック」します。

于 2021-04-20T02:46:32.960 に答える