この部分は次のようになります。s/pattern // gn vimを使用して「パターン」の出現回数を報告します。vim find reportとバッファ内での出現回数
しかし、報告された番号を後で使用するためにバッファに保存する方法はありますか?
この部分は次のようになります。s/pattern // gn vimを使用して「パターン」の出現回数を報告します。vim find reportとバッファ内での出現回数
しかし、報告された番号を後で使用するためにバッファに保存する方法はありますか?
まず、 "バッファ"が "レジスタ/変数"であると思いました。
それを達成するためにさまざまな方法があります。
外部コマンドは、最も直接的な方法で、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
を実行する必要があります。
はい。私は "登録"を意味しました。 – Amalafrida
応答に感謝します。しかし、詳細は私の専門知識レベルをはるかに超えています。私の無知を許してください。 vimはヒット数を画面の一番下に表示します。明らかに、その番号はある場所(レジスタ、メモリ?)に保持されなければならない。その場所に簡単にアクセスする方法はありませんか? – Amalafrida
あなたは正しいです、番号はvimのソースコードのどこかに保存しなければなりません。 vimのアプリケーションから、AFAIK、いいえ、私たちはカウント数をどこかで直接読み取ることができません。 – Kent
使用したサンプルコードを含めて、問題を説明してください。 –