vimでgrep検索をgrepで実行した後、ファイルのリストが表示されます。それらのファイルの1つを選択し、その特定の行の新しいタブで開く方法はありますか?あなたはファイルのリストを取得した場合vimでgrepから結果ファイルを選択
答えて
grepを呼び出した後、quickfix/errorウィンドウを開く必要があります。
:copen
私はgrepを使うたびに私のためにそれを作るスクリプトがあります。
あなたはより多くの情報について
:cn
:colder
を経由して、ツリー状に
:help grep
それらを参照し、エントリの一番下までスクロールすることができます
ちょうど完全性、など:copen
コマンドのために、また、唯一のエントリは(あなたのgrepは何の結果を持っていない場合ので、それは表示されません)がある場合は、「クイックフィックス」ウィンドウが開きます:cw
、があります。
私は、ファイルを新しいタブで開く作る(マッピングを定義せずに)最も簡単な方法がすることだと思う:
:cw " Open the quickfix window
Ctrl-W T " Switch the window into a new tab
<ENTER> " Open the file/line
また、あなたができる:
:cw " Open the quick fix window
Ctrl-W <ENTER> " Open the file/line in a new window
Ctrl-W T " Move the new window to a new tab
場合クイックフィックスウインドウに入ったり出たりするときにマッピングを作成して削除するには、デフォルトでBufEnter
とBufLeave
の自動作成を使用することができます。しかし、これはおそらく些細なことではありません。
:help :cw
:help :copen
:help quickfix
非常によく似た質問に対する回答を探しています。上記の答えは正しいものの、QuickFixウィンドウ内のすべてのファイルを一度に開くための便利な方法をバッファまたはタブのいずれかに記述できませんでした。
あり、それを行うには、コマンドに建てられているように見えるが、それはVIMプラグインなど些細だしません...誰かがそれは、コードの12行(1つの機能)ですここ http://pastebin.com/J9RwciFQ
をやってくれました。分析中にクリックを保存するためにここに貼り付けられます。あなたがこれを実装しようとしている場合pastebinのリンクに従ってください...私のプラグインは、病原体のディレクトリにインストールされ、私は元のプラグインを少し修正した(コードの後の詳細)。
~/.v/b/v/p/quickfixopenall.vim
" Create command
command! QuickFixOpenAll :call StartQuickFixOpenAll()
function! StartQuickFixOpenAll()
if empty(getqflist())
return
endif
let s:prev_val = ""
for d in getqflist()
let s:curr_val = bufname(d.bufnr)
if (s:curr_val != s:prev_val)
exec "edit " . s:curr_val
endif
let s:prev_val = s:curr_val
endfor
endfunction
私はgrepの結果を持っていたら、だから私は満足してい...プラグイン機能があります。QuickFixOpenAllを与えられるように...私はプラグインを変更する必要がありました(quickfixplugin.vimに次の行を追加しました)。そして、私はあなたが開いているバッファとしてgrepの結果のすべてのファイルを持っている...あなたは、このような/見つけるあなたは接頭辞ができ置き換えるなどの任意commeon操作を実行したい場合は、自分の与えられた関数のStartQuickFixOpenAll ...
" Create command
command! QuickFixOpenAll :call StartQuickFixOpenAll()
と改名しましたあなたのコマンドをすべて実行する "bufdo"コマンドを使用した通常のコマンド...VIMタイプの "help bufdo"
タブを使いたくない場合は、このプラグインをかなり簡単に修正することができます... commaned "edit"を使用します...単に "tabe"と置き換えてQuickFixOpenAllが開きます結果タブを新しいタブに追加します。
- 1. Grep: 'ファイルごとのリスト'結果
- 2. LINQタイムアウトでクエリ結果を選択
- 3. グループ2でajaxの結果を選択
- 4. AJAX JSONの結果データから選択リストを取り込む
- 5. サブクエリから最適化されたランダムな結果を選択
- 6. 選択した結果のavg()、min()、max()、toatl()、count()を選択
- 7. 以前のxmlクエリ結果から選択する方法
- 8. 2つの選択ステートメントからの合計結果
- 9. データベースからの結果の選択、集計、合計
- 10. SQL結合の結果から最大日付を選択する方法
- 11. 選択PHPのmysqlの、配列結果配列結果
- 12. 動的選択で結果が得られません
- 13. 結合された選択でユニークな結果を返す
- 14. クエリの選択結果が異なる
- 15. HQL選択範囲の結果
- 16. VIMでの線形選択
- 17. 複数選択Vim
- 18. stashrで何かgrepして結果をファイルに保存するbashコマンド
- 19. MYSQL選択からどの結果が選択されたのかを検出しますか?
- 20. MYSQLで生成されたドロップダウンリストから選択した結果を表示
- 21. Vimのインクリメンタルサーチ、次の結果
- 22. 名前がMySQLの別の選択の結果である列から選択する
- 23. のMySQLを選択し、私は私のテーブルからの選択の結果を持って改ページ
- 24. Regexの結果をVimを使ってファイルに保存
- 25. ListBoxを検索してCで結果を選択
- 26. 選択クエリの結果を更新しますか?
- 27. SQL - 結果のグループから一意の行を選択してください
- 28. 値に応じて結果セットから特定のレコードを選択する
- 29. 選択ステートメントの結果をストアドプロシージャの別の選択に使用する
- 30. MySQL + PHP - 以前の選択結果に基づいて情報を選択
ファイルをその特定の行の新しいタブでどのように開いていますか? – Amjith