0

基本的に、「:g/pattern/p」を実行してから、いずれかを選択するように求める vim プラグインを思い出すようです。このプラグインを知っている人はいますか?それとも組み込み関数ですか?

基本的に、検索を実行し、現在のページ (または開いているバッファー内) のすべてのインスタンスを表示してから、どのページに移動するかを選択できるようにしたいと考えています。

ありがとう!

編集:

選択したときに実際に行番号に移動したいのですが、それがかなり単純な解決策であることを望んでいます。このためのプラグインを見たことがあると確信していますが、それが何であったか思い出せません。何かご意見は?

PS。答えているすべての人に感謝します。彼らは素晴らしい答えです。

4

5 に答える 5

3

:vim[grep]またはを使用できます:gr[ep]

:vim foo % | cw

:vim foo % |  CW

を参照してください:help quickfix

プラグインが必要な場合は、vim.org を検索する必要があります。

于 2013-06-27T19:11:11.130 に答える
2

コマンドを使用して結果をquickfixウィンドウに入力できます:vimgrep

:vimgrep/regex/ %

%現在のバッファのファイル名を表します。注: buffer はファイルである必要があり、スクラッチ バッファーではありません。

次に、 や などのquickfixコマンドを使用して、リスト内を移動します。または でリストを開き、を押して一致にジャンプします。:cnext:cprev:copen<cr>

:vimgrep任意の数のファイルを作成できます。

  • すべての*.cファイル:vimgrep/regex/ *.c
  • **深いディレクトリまで検索するために使用します:vimgrep/regex/ **/*.c

vimgrep経由で args リストを使用することもできます:vimgrep/regex/ ##

詳細については、次を参照してください。

:h :vimgrep
:h quickfix
:h c_%
:h arglist
于 2013-06-27T19:14:10.910 に答える
2

これで親しくなるかもしれません。インタラクティブなメニューではありませんが、試合の行番号を教えてくれます

:g/<regex>/#

# グローバルに行番号を出力するように指示します。:h :number(#は の同義語です:number)を見てください

于 2013-06-27T18:18:55.953 に答える
0
:g/regex/p

:gデフォルトで実行:pされるため、省略できます。末尾のスラッシュも削除できます。

:g/regex

:gファイル内の最後のオカレンスにジャンプするので、N/(通常モードで) を実行して N 番目のオカレンスにジャンプできることに注意してください。または、多くの一致があり、必要なものを数えたくない場合は、少なくともその行 L にLGまたはLggまたはでジャンプできます:L

:set numberの出力に行番号を使用しないが必要な場合は、 @FDinoff が示唆するようにまたはを:p追加します。nu[mber]#

:g/regex/nu
:g/regex/#
于 2013-06-27T19:00:19.327 に答える