2016-08-10 17 views
2

多くの場合、vimで多くのファイルを開くと、splitvsplitが表示されます。このような状況では、特定のファイルが開いているウィンドウを(ファイル名で)検索できますか?ファイル名に基づいてvimの特定のウィンドウをすばやく検索

私はtmux find windowのような機能を探していますが、そのウィンドウのスクロールバッファ内のテキストを検索してウィンドウをアクティブにすることができます。しかし、vimの場合は、ファイル名を検索してウィンドウにフォーカスを合わせることができます。

+0

これはすぐに使用することはできません。とにかく、同じファイルを複数のウィンドウに表示することができます。 (また、[vi.stackexchange.com](http://vi.stackexchange.com)の存在に注意してください。 – DevSolar

答えて

0

bufferコマンドを使用してファイル名の先頭を追加すると、完全な名前をタブで指定することができます。 (IMO)タブ補完がもう少し便利にするために、あなたはあなたのvimrcファイルにこれらの設定を追加することができます: - install.shreadme.mdapp.js - あなたは3つの開いバッファがある場合

" first tab completed to the longest common match, or full match, 
" second tab completed to show list of all matches, 
" third tab starts to cycle through matches 
set wildmode=longest,list,full 

:b in<TAB>を完了しますコマンドを:b install.shにする - 入力を押すと、install.shファイルを含むバッファが開きます。検索キーワードに複数の一致がある場合は、TABの検索結果をすべて繰り返してください。詳細情報については

、チェックアウト:help buffer

+0

これは現在のウィンドウ*にバ​​ッファー*を開きます。 *ウィンドウにスイッチ* *すでに*バッファを表示するに – DevSolar

+0

@DevSolarが正しいと私はそのウィンドウに切り替えて、現在の1を交換しないことができるようにしたい – Amit

+0

@Amitは - 。。。ああ - 。私が見る私は妥協ができたと仮定目的のバッファを分割( ':sb in ')で開くことができますが、既に複数の分割が開いていると言われているので、それははるかに良いとは思わないでしょう。同様の質問と他の誰か – Lix

3

すべての最初は、分割で複数のファイルを開くと、ファイルの編集が容易になります。しかし、分割して「多数のファイル」を開くと、どのような理由でそれを行うのかわかりません。ファイルをバッチ処理する場合は、sed/awk /を検討することができます。

とにかく、あなたのvimでこのコマンドラインを実行すると、ファイル名が与えられます。このcmdを実行すると、 buf。

:call win_gotoid(bufwinid('YourFileName')) 
+0

注: 'Vimの1557年4月7日に導入されたwin_gotoid'古いバージョンをお持ちの場合は、ソートの使用により、この動作を得ることができます。!。 ':drop'。例えば':foo.txtを落とす '。 ':drop'を使用する際の問題は、ファイルが現在開いていなければ、現在のウィンドウでファイルを開くことです。詳細は ':h:drop'を参照してください。 –

+0

私は7.4.1689 '$ vim --version |を実行しています。 1-1689': - 頭-2 VIM Viが 含まパッチ(2016年6月16日10時50分38秒をまとめ、2013年8月10日)7.4を向上させます。しかし、 'bufwinid'関数はありません。 'drop'コマンドも存在しません。私は 'vim'のより高いバージョンで試さなければならないと思います。 – Amit

関連する問題