4

検索された単語のすべての一致を強調表示するようにvimを構成できることを認識しています。

しかし、検索された単語が見つかった行全体を強調表示することは可能ですか? もしそうなら、どのように?

4

5 に答える 5

9

通常、現在の行を強調表示したい場合:

:set cursorline

検索を強調表示したいだけの場合、唯一の簡単な方法は、検索パターンを拡張して行全体をカバーすることです。

:set hlsearch
:let @/ = '.*'.@/.'.*'

n/Nでは、カーソルは一致した単語ではなく、行の先頭にジャンプすることに注意してください。また、:%s//...一致した単語の置換を (検索パターンを繰り返さずに) 行うことはできなくなります。

于 2012-09-27T10:08:15.073 に答える
4

The exact solution depends probably on your goal:

Do you want to make the matched lines stand out a little more?

Do you want to know the line numbers for further use?

Do you want to act directly on those lines?

You could use the quickfix window to list the lines containing a match:

:vim! foo . | copen

You could use the :global command to list or act on every line containing a match:

:g/foo<CR>          " list the lines
:g/foo/<Ex command> " act on each line
于 2012-09-27T10:16:24.873 に答える
2
:set hlsearch

検索された単語が強調表示されます。

現在の行、つまりカーソルがある行を強調表示できることにも注意してください。そのため、マッチ間を移動すると、移動先の行全体が強調表示されます。

于 2012-09-27T09:40:48.287 に答える
-1

これを使用してください:

ファイル内のすべての検索パターンの一致を強調表示するには、次のオプションを設定します。

:set hlsearch

強調表示を一時的に無効にするには、次を使用します。

:nohlsearch
于 2012-09-27T09:41:54.530 に答える