Vimでウィンドウごとにバッファリストを保持するにはどうすればよいですか?


15

私はこれに対する答えを見つけることができなかったことに驚いていますが、おそらく私は明らかな何かを見逃しています:ウィンドウごとにバッファリストを保持することは可能ですか?私はしばしば約4つの分割を持ち、各分割は通常、特定の目的を果たします:1つのCSS、別のJS、他のいくつかのHTMLなど。

私がおそらく探しているのは、これを実現するプラグインです。最近、BufExplorerを使用しています。これには、ウィンドウごとではなく、タブごとにバッファのリストを保持できる設定があります。

私はBufExplorerのMRUリストが本当に好きですが、それがバッファのグローバルリストに基づいているのは面倒です-欲しいのはウィンドウごとのMRU履歴です。


まだ構築されていないため、見つけることができません。ほとんどの最近傍は、このQ&Aで識別されている
新アレクサンドリア

回答:


1

私見、本当に必要なのはワークスペースマネージャーです。

vim @ http://www.vim.org/scripts/script.php?script_id=1410の 1つを見つけることができます

次のコマンドを提供します。

:WsAddFile              Add a new file to the workspace.                  
:WsAddGroup             Add a new group to the workspace.                 
:WsClose                Close the workspace window.                       
:WsInsertFile           Insert a file.                                    
:WsInsertGroup  Insert a group.                                           
:WsOpen         Open a workspace and display it in a window.              
:WsRun          Run a command using the selected unquoted file names.     
:WsRunq         Run a command using the selected quoted file names.       
:WsSave         Save the workspace.                                       
:WsSessionOpen  Open the workspace and Vim session.                       
:WsSessionSave  Save the workspace and the Vim session.                   
:WsToggle               Open or Close the workspace window. 

私のfbに 4つ以上のウィンドウが表示されたワークスペースマネージャーでの作業のスクリーンショットがあります。

必要なバッファのリストではありませんが、異なるウィンドウや同じウィンドウの複数のバッファでファイルを開くことができます。

後者の場合、ワークスペースマネージャはバッファリストとして機能します。スクリーンショットでわかるように、ファイルをさまざまなグループにグループ化しました。

これは、AFIKと同じくらい近いものです。

良い一日。


0

そのレベルのウィンドウ管理をvimにシューホーンするのはなぜですか?私はときどき分割ウィンドウを使用します-分割ウィンドウに表示されるファイル内検索スタイルのgrepコマンドにマップされたCtrl-Fがあり、また時々vimdiffを使用します。

しかし、vimで永続的なウィンドウ管理が本当に必要ですか?PuTTY接続マネージャーとあらゆる種類のターミナルエミュレーターを使用すると、ターミナルを必要に応じて分割し、それぞれで個別のvimセッションを実行できます。


vimインスタンス間でレジスタを共有できますか?これは常に、vimの複数のインスタンスを実行したくない最大の理由です。yank一方からも他方からもできませんput
ブライアンマーンズ14年

0

左側でNERDTreeを開いてください。>

いくつかのバッファーを開いています(メインビューに表示されるのは1つだけです... "buffer 1"と呼びます)

次に、NERDTreeに移動して、本当に見たいだけの別のファイルを選択するか、何かをコピーします。だから私はそのファイルをNERDTreeから開き、buffer1が正しく隠されていて、今開いたばかりのバッファを見ています(バッファ2と呼びます)

このバッファー2を完全に終了してバッファー1の編集に戻りたいのですが、バッファー2で:qを実行すると、1つの大きなNERDTreeだけが表示され、buffer1を再表示する必要があります。... [引用の残りを表示]

Nerdtreeを使用していませんが、Ctrl- ^(おそらくCtrl + 6キー)を入力してbuffer1に切り替える必要があるようです。


0

私はそのようなプラグインを知りません。

特定のファイルのバッファーを開く簡単な方法の1つは、FuzzyFinderの:FufBufferコマンドを使用することです。簡単にアクセスできるように、開いているすべてのバッファー(現在のウィンドウのバッファーを除く)のリストが開きます。私は、fnにバインドされています。たとえば、すべてのcssファイルを、fncssで、またはすべてのjsファイルを、fnjsですばやく表示できます。FuzzyFinderは、最小限の労力で(この特定のユースケースだけでなく)必要なファイル/バッファ/ディレクトリ/などにアクセスするのに最適です。

しかし、私は:特定のファイルタイプ。

おそらく、現在のウィンドウの現在のバッファのファイルと同じタイプの前/次のバッファに切り替えることができるコマンドを提供するプラグインを作成できます。


ところで、これらの個別のバッファリストを管理することは、痛みよりも痛みを和らげると思います。
ハネス

-1

これは完全な答えではありませんが、vimは各ウィンドウに別々の#および%バッファーを保持しているようです。そのため、1つのウィンドウ(CTRL- ^を使用)で2つのファイルをすばやく切り替え、もう1つのウィンドウで2つの異なるファイルを切り替えることができます。バッファリストは、まだ追加したすべてのバッファです。


これは本当にコメントですが、私はまだコメントできませんので、質問に答えていないので投票される回答を投稿します。図を移動します。
mondaugen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.