プログラミングに必要な機能(grep)

プログラミング業務に使用するテキストエディタとしてどのような機能が必要であるかを考える

  • ファイル内検索
  • grep
  • 置換
  • タグジャンプ

他にもあるだろうが今のところぱっと思いつくのはこれぐらい。

grep について

まず、grep について軽く調べてみた。


vimには内部grepと外部grepの2つの方法が用意されているようだ。

  • 内部grep
    • :vimgrep コマンドで実行
  • 外部grep
    • :grep コマンドで実行

内部grepを試してみる。
例えばカレントフォルダにある *.c 拡張子のファイルから"hoge"というキーワードを検索する場合は以下のコマンドを実行する。

:vimgrep /hoge/ *.c

しかし、そのままではエラーとなってしまう。
どうもそのままではカレントフォルダはgvim.exeを実行したフォルダになっているようだ。
そこで、現在開いているファイルのフォルダをカレントフォルダに設定するために以下のコマンドを実行する。

:cd %:h

その上で :vimgrep を実行するとカレントフォルダ内でgrepが実行される。
更に :copen コマンドを実行すると検索結果が別ウィンドウで表示される。
表示された検索結果内でカーソルのある行でキーを押すことでその位置へジャンプする。


以下のコマンドを実行することでgrepの実行と検索結果ウィンドウの表示が自動的に行える。

:vimgrep /hoge/j *.c | cw

おまけ

  • 日付を挿入する方法

:r !date /t