2017-05-12 5 views
0

この部分は次のようになります。s/pattern // gn vimを使用して「パターン」の出現回数を報告します。vim find reportとバッファ内での出現回数

しかし、報告された番号を後で使用するためにバッファに保存する方法はありますか?

+0

使用したサンプルコードを含めて、問題を説明してください。 –

答えて

0

まず、 "バッファ"が "レジスタ/変数"であると思いました。

それを達成するためにさまざまな方法があります。

  • 外部コマンドは、最も直接的な方法で、IMO

    let a=system('grep -c "yourPattern" '.expand("%:p")) 
    

    したがって、変数aは、カウントが含まれています。しかし、grepが必要です.vimバッファはファイルでなければなりません。

  • searchpos()機能とループ。 col1 line1から、searchpos()関数を呼び出すと、ファイル/バッファの最後までマッチが累積されます。ループを実装する必要があります。

  • リダイレクト(:redir)を使用してメッセージを登録してリダイレクトし、さらに処理します。したがって、x matches in y linesメッセージを登録し、後でxを選択することができます。

私は最初の方法を好むでしょう。

:h itemあなたはコマンド/機能を理解していない場合は、この項目(機能使用/オプション/コマンドなど)のヘルプドキュメントを表示します。

まず、vimのバッファ/ウィンドウが何であるかを知るには、:h windowを実行する必要があります。

+0

はい。私は "登録"を意味しました。 – Amalafrida

+0

応答に感謝します。しかし、詳細は私の専門知識レベルをはるかに超えています。私の無知を許してください。 vimはヒット数を画面の一番下に表示します。明らかに、その番号はある場所(レジスタ、メモリ?)に保持されなければならない。その場所に簡単にアクセスする方法はありませんか? – Amalafrida

+0

あなたは正しいです、番号はvimのソースコードのどこかに保存しなければなりません。 vimのアプリケーションから、AFAIK、いいえ、私たちはカウント数をどこかで直接読み取ることができません。 – Kent

関連する問題