私はよくこのような状況に陥ります:
- 現在の作業ディレクトリから NERDTree を使用して gVim を開きます。
- NERDTree からファイルを開く
<S-T>
と、新しいタブが表示されます。 :tabprevious
NERDTreeに戻ります。- ディレクトリを探索し、を使用して 2 番目のファイルを開きます
<S-T>
。 - 2 番目のファイルを閉じる
:q
か、ZZ
。
その後に何が起こると予想していたか5.NERDTree に戻ることですが、Vim は常にタブを折りたたんで右側のタブを開きます。これは私が意図したことではないので、Vim に私が切り替えたすべてのタブのリストを保持させたいです。そのため、1 つのタブを閉じると、スタックからポップされ、次のタブにフォーカスされます。
これは、たとえば Komodo Edit のような他のエディター、主に IDE でも見られます。
Vim でこれを行うプラグインはありますか?
答え1
最初のタブ (おそらく NERDTree が開いているタブ) に移動するには、 を実行します:tabfirst
。Vim は「最近アクセスした」順にタブのリストを保持せず、:tabprevious
左:tabnext
/右のタブのみを処理します。
のデフォルトのアクションは、T
選択したファイルを新しいタブで開くことです。そしてNERDTree があるタブに戻ります。 の:tabprevious
後になぜこれを行う必要があるのかわかりませんT
。
NERDTree の一般的な使い方は、必要なときにその場で開き、ファイルを開いたときに自動的に閉じるように設定することです。オプションの名前は覚えていませんが、簡単に言えば:help nerdtree
十分でしょう。
また、ここで間違いを犯しているのではないかと思います。Vim の「タブ」を、他の場所にあるタブと同じものとして使用しています。これは、そのように設計されていないため、よくない考えです。代わりに、ウィンドウとバッファについて読んでください。