18

パターンを見つける方法があるかどうか疑問に思っていますが、現在の行に制限しています。基本的に、/PATTERNドキュメント全体ではなく、現在の行に限定されますが、同等です。

私は試しまし:s/PATTERNたが、それは行からパターンを削除し、カーソルを行の先頭に置きます。これは私が必要とするものではありません。置換せずに検索できるといいのですが...

/PATTERNファイル全体に対して行う場合と同様に、カーソルをそのパターンの先頭に配置するために、これをマクロに使用したいと考えています。

アイデアがあるかもしれないvimユーザーはいますか?

編集:0/PATTERNマクロでは現在のニーズに対応できますが、検索を制限するより具体的な方法があることを願っています。

回答: これまでにいくつかの方法が投稿されていますが、私が今最も気に入っているのはShift+V、現在の行を視覚的に選択し、続いて/\%V視覚的な選択のみを検索する方法です。次にShift+V、ビジュアルモードをオフにします。

4

5 に答える 5

17

Shift + Vマクロに関する私の知識は限られていますが、インタラクティブに、現在の行をで選択して実行できます/\%Vsearch( http://vimdoc.sourceforge.net/htmldoc/pattern.html#/ \%V を参照)。

于 2013-05-15T18:50:21.263 に答える
9

入力してパターンの最初の文字を見つけようとします

f <letter>

それはまさにあなたが必要としているものではありませんが、問題を解決するのに役立ちます.

于 2013-05-15T18:53:44.427 に答える
9
/\%9lsearch

Where\%9は行番号 9 を意味します。

行番号を入力するのはまだ少し不自由です。ctrl+r=の後に vim 式を続けて、vim 式enterを評価し、その出力を挿入することができます。line('.')カーソルの行を返します。

1 つの完全なステップで

/\%<c-r>=line('.')<cr>lsearch

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

:h /\%l
:h i_CTRL-R
于 2013-05-15T18:48:34.363 に答える
2

を使用すると、置換せずに検索できます

:s/PATTERN//gc

次に、 を押しnて置換をスキップします。パターンが見つからない場合は、尋ねられません。

現在の行または行の範囲を強調表示することもできます。

于 2013-05-15T18:48:09.550 に答える