vim grepした結果を編集して使う。
vimでよく使う機能としてgrepがある。
最近はwindowsでもそのまま使えて拡張子も指定できるvimgrepをよく使っている。
例えば 現在のディレクトリ配下(サブディレクトリも含む)の拡張子.pyに対して"Spend"を検索
:vimgrep "Spend" **/*.py
lifeaccountnote.py|52 col 7| class Spending(db.Model):
lifeaccountnote.py|72 col 3| spending = Spending(user=user,
lifeaccountnote.py|76 col 3| spending.category=db.Key(category)
lifeaccountnote.py|77 col 3| spending.put()
lifeaccountnote.py|85 col 6| if spending.category.name in accountData:
lifeaccountnote.py|86 col 19| accountData[spending.category.name] += price
lifeaccountnote.py|88 col 19| accountData[spending.category.name] = price
上記のようなフォーマットで編集不可の形式で下windowに出力され、enterでカーソルのある行の結果にjumpできる。 これはこれですごく便利なのだが、別に興味のない結果行を削除したかったり、後で vimgrepを再び使用せずに、出力結果を再利用したい時はどうしたらいいのだろう? そういう場合の実行手順。
- 1. grep結果を適当なファイル名で保存。
- 2. 保存した結果を編集。(必要のない結果を削除したり等)
- 3. :set errorformat=%f\|%l\ col\ %c\|%m
- 4. :cf 1で保存したファイル名
- 5. :cope
編集したvimgrepの結果ファイルに基づいたwindowが表示され、enterでjumpできるようになる。 ktkr
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント