0

エディターを gedit から gvim に移行中です。gedit では、複数の gedit ウィンドウが開いていて、それぞれに複数のタブがある場合、[ドキュメント] をクリックすると、開いているすべてのタブとウィンドウのすべてのファイルが一覧表示され、リストからクリックしてそれらのいずれかに移動できます。

gvimでこれを行うにはどうすればよいですか? gvim の Buffers ボタンには、現在のウィンドウで開いているファイルのみが一覧表示されます。

ありがとうございました!

4

1 に答える 1

1

GVim はシングル ウィンドウ プログラムです。2 つの GUI ウィンドウがある場合、実際には互いに通信できない 2 つの別個の GVim プロセスがあります。

「通常の」エディタから Vim への切り替えは簡単なことではありません。切り替えを成功させるには、Vim の考え方に適応する必要があります。

Vim の「ウィンドウ」と「タブ」は名前が悪く、初心者には混乱を招きます。

「通常の」エディターでは、タブ (またはタブのないエディターの場合は GUI ウィンドウ) はファイルの 1:1 表現であり、GUI ウィンドウはタブ/ファイルのコレクションです。システムは決定論的です: あなたがそれを閉じない限り、最初のウィンドウを と同一視しControlers/、2 番目のウィンドウの 2 番目のタブをと同一視することができますModels/User.php。その「通常の」エディタはマルチウィンドウ プログラムであり、それらすべてのタブとウィンドウは 1 つのプロセスの子であるため、メイン プロセスがすべてのウィンドウとタブのリストを提供するのは簡単です。

GVim では、2 つの GUI ウィンドウが 2 つの別個のプロセスによって作成されます。GUI ウィンドウ #1 は GUI ウィンドウ #2 の知識がないためです。さらに、Vim の「ウィンドウ」と「タブ」の概念はまったく決定論的ではありません。「ウィンドウ」はバッファの単なるビューであり、このバッファは現在メモリ内にある任意のバッファにすることができます。「タブ」はウィンドウの集まりであり、その名前はアクティブな「ウィンドウ」に現在表示されているバッファに自動的に設定されます。極端なシナリオでは、タブ内のxウィンドウに同じバッファが表示される可能性があります。y

したがって、GVim の設計上、Gedit の動作を模倣するために多くの作業を行わなければ不可能だと思います。

特に新規ユーザーにとっては、「バッファ」、「ウィンドウ」、および「タブ」を混同するのは簡単すぎるため、少なくともしばらくの間、「タブ」から離れて、「バッファ」の使用方法を学ぶことをお勧めします。 」と「窓」を最大限に。

Vim のデフォルトの動作では、現在のウィンドウ内のバッファを別のバッファに置き換える前に、現在のバッファを保存するように求められます。これが、非常に多くの人が Vim でタブを使用する理由だと思います。この「問題」set hiddenを解決し、同じウィンドウで多くのバッファを開くことができます。set switchbuf=useopenバッファの切り替えは、ネイティブ ツールを使用すると非常に簡単です。また、 CtrlPなど:sb <tab>のサード パーティ製ツールを使用すると、魅力的で強力です。プロジェクトのさまざまな部分を異なるウィンドウ (たとえば、1 つ、1 つ、1つ、または 1 つをバックエンド、もう 1 つをフロントエンド) に配置することに慣れている場合は、Vim のタブを使用できます。Controlers/Models/Views/

于 2012-04-28T07:36:02.983 に答える