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. sqlから結果を複数選択してデータを選択
- 2. 結果のリストから選択
- 3. 結果から選択:Unispot変換:SSIS
- 4. grep -lのファイル名の結果をvimエディタに転送する方法
- 5. ポスト選択結果
- 6. grepの結果が異なるファイル
- 7. Grep: 'ファイルごとのリスト'結果
- 8. select2ドロップダウンから結果を選択できません
- 9. 選択クエリ結果のエクスポート
- 10. LINQタイムアウトでクエリ結果を選択
- 11. グループ2でajaxの結果を選択
- 12. PL/SQL:デュアルから複数行の関数結果を選択
- 13. クエリ結果から最新のレコードを選択する
- 14. クエリの結果からMySQLの範囲を選択します
- 15. 昨日から1週間前の結果を選択
- 16. 選択結果から複数の行を挿入する
- 17. AJAX JSONの結果データから選択リストを取り込む
- 18. 複数のサブクエリから結果を選択
- 19. サブクエリから最適化されたランダムな結果を選択
- 20. VIMでの線形選択
- 21. Vimでの選択範囲
- 22. 複数選択Vim
- 23. 2つの選択ステートメントからの合計結果
- 24. データベースからの結果の選択、集計、合計
- 25. 選択クエリから取得したMySQL結果セットの挿入?
- 26. Combobox検索結果から選択してくださいJavafx
- 27. 以前のxmlクエリ結果から選択する方法
- 28. 選択した結果のavg()、min()、max()、toatl()、count()を選択
- 29. SQL - 結果を返すマルチ選択クエリ
- 30. ライブ検索の結果を選択ajax
ファイルをその特定の行の新しいタブでどのように開いていますか? – Amjith