TODOを持っているすべてのソースファイルをgvimの分割バッファで開きたいとします。gvimでTODOを持つすべてのファイルを分割する方法は?
これは、grep
で出力を編集コマンドにパイプすることで実現できると確信していますが、これを実装する方法がわかりません。
TODOを持っているすべてのソースファイルをgvimの分割バッファで開きたいとします。gvimでTODOを持つすべてのファイルを分割する方法は?
これは、grep
で出力を編集コマンドにパイプすることで実現できると確信していますが、これを実装する方法がわかりません。
実際にあなたが実際に求めているものよりもはるかにうまくいくようにする機能がvimにあります。 :help quickfix
をチェックしてください。あなたが想像として、本質的に、あなたのgrepを実行することができます。そして、
grep -rn TODO . > index.txt
あなたがVimのクイックでこのインデックスを開くことができます。これはあなたがすべてのTODO中をナビゲートすることができます
vim -q index.txt
:cn
(次へ)と:cp
(前回)を実行して、これらのファイルをすべて保存します。 :copen
にも可能です。下部にクイックリストウィンドウが開き、リスト全体のどこにいるのかがわかり、ファイル内の各TODOに移動できます。
あなたはxargs
を使用することができます。
grep -l TODO * | xargs vim -o
vimは端末に接続されていないサブシェルで実行されているので、端末を台無しにする傾向があります。 '' args \ 'grep -Ilr TODO。\' '(すべてをすぐに開いたり表示したりすることができます。また、' 'xargs gvim -o'などを使用してください。 – sehe
あなたは2つだけか 3があることを知っている限り、私は、分割でそれらを開くことはありません。しかし、編集するファイルが2つか3つしかない場合、なぜあなたは のコマンドを開いて、それらを開くのを自動で探していますか?
これは、あなたが使用できる基本的なgrepのです:
grep -lIr TODO .
それはTODO
し、それらをリスト を含むファイルに対して再帰的にカレントディレクトリを検索します。また、バイナリファイル(.swpファイルや.swoファイルを含む)のマッチングを避けることもできます。
mvim --remote-silent $(grep -lIr TODO .)
あるいは、Vimの内、あなたが巧みにコメントでseheによって提案 として:argadd
コマンドとバッククォートの拡張を使用することができます:あなたはGUIのVimを実行している場合で その後、私は行くだろう
:args `grep -Ilr TODO .`
あなたは何件のファイルについて話していますか?同じ画面上に30個のようなものがあるのは少し実用的ではないかもしれません。 – mihai