vim内でgrepを実行して検索結果の一覧を表示する(vimgrep) | 瀬戸内の雲のように

vim内でgrepを実行して検索結果の一覧を表示する(vimgrep)

Posted: 2018-09-13


スポンサーリンク

目次

  • :vimgrep '検索文字列' '検索対象のファイル(%は現在のファイル)' | cw(別ウィンドウを開く)

    背景

    私はサーバエンジニア歴約10年です。
    なのでvimも10年近く使っているわけですが、未だに知らないことが出てくることがあり、その度に奥深さを実感します。

    今回は最近知ったvimgrepについてメモしておきたいと思います。

     

    vimgrepとは

    一言で言うとvim内で文字列を検索する機能です。それだけだと、/と何が違うの?と思われるかと思います。
    一番大きな違いは別ウィンドウにて検索結果一覧を表示できることです。

    わかりづらいかと思いますので、実際の画像はこんな感じです。

    picture

     
    下半分のウィンドウが検索結果です。この画像ではaを検索した結果です。

    私はこれまで検索には/を使っていて、一覧で見たいと思った時には一回vimを閉じてgrepをしていました。
    しかしvimgrepを使えばそれが不要になります。

     

    vimgrepの使い方

    使い方は簡単です。
    まずvimを実行します。今回は例として以下のようなファイルを開きます。

    1. aaaaaaaaaaaaaaaa
    2. bbbbbbbbbbbbbbbb
    3. cccccccccccccccc
    4. aaaaaaaaaaaaaaaa
    5. dddddddddddddddd
    6. eeeeeeeeeeeeeeee
    

    開いたら、コマンドモード( : を押した状態)にして、以下のコマンドを実行します。

     

    :vimgrep aaa % | cw
    
    ###解説
    #:vimgrep '検索文字列' '検索対象のファイル(%は現在のファイル)' | cw(別ウィンドウを開く)
    

    これで先ほどの画像の状態になります。とても簡単です。

    その他の操作は以下の通りです。

     

    ウィンドウ間の移動

    なお、開いたウィンドウから元のウィンドウに戻る(ウィンドウ間の移動)はノーマルモードでCtrl + ww (ctrlを押しながらwを2回押す)でできます。

    ウィンドウの閉じ方

    閉じたいウィンドウに移動し:qで閉じられます。

     

    まとめ

    以上、vimgrepの使い方でした。もっと早く知っておきたかった。。


    スポンサーリンク




    コメント一覧


    コメントを投稿する


    お名前


    コメント内容





    TOP back