8

Vimが検索でハイライト表示されないようにすることは可能ですが、通常の検索ではハイライト表示する方法はありますが、置換などはできませんか?

私はしばしばテキストのブロックを強調表示してから、次のようなことをします。

:s/^/#/

ブロック全体をコメントアウトします。しかし、画面の左側に醜い黄色のバーが上下に走っていて、:noh毎回クリアする必要があります。

通常の/searchでハイライトを維持したい。これは可能ですか?

4

2 に答える 2

5

これはあなたの質問に完全には答えませんが、同じ問題を抱えている私にとっては役に立ちました:検索または検索と置換の後に強調表示を簡単に非アクティブ化するためにこのコマンドを追加しました

nnoremap <esc> :noh<return><esc>

Vimから最後の検索の強調表示をクリア

于 2013-02-13T21:32:10.250 に答える
3

私の解決策:これをvimrcファイルに入れてください

set nohlsearch

noremap * :set hlsearch<CR>:nohlsearch<CR>*
noremap / :set hlsearch<CR>:nohlsearch<CR>/
noremap ? :set hlsearch<CR>:nohlsearch<CR>?

nnoremap <F4> :set invhlsearch<CR>
inoremap <F4> <ESC>:set invhlsearch<CR>gi
nnoremap <CR> :set nohlsearch<CR>

内容:

  1. 検索は常にハイライトを有効にします。
  2. Enter次の検索までハイライトをオフにするために使用しますが、次の代替はオフにしません。ただし、もう一度押しEnterてもオンにはなりません。
  3. F4次の検索までハイライトをオフにするために使用しますが、次の代替はオフにしません。もう一度押すとF4、最後の検索パターンのハイライトが切り替わります---検索または置換---存在する場合。

あまりよく説明されていないハイライトに関する注意事項:
この'hlsearch'オプションがオンの場合、今後のすべての検索/置換がオンになり"highlight visibility"ます。現在"highlight visibility"は、直接クエリまたは個別に設定できるオプションではありませんが、コマンドを使用してハイライトの可視性を個別にオフにすることができます(次の検索で可視性が再び有効になるため、:nohlsearchこれはと同じではありません)。:set nohlsearch

さらに、コマンドを実行するたびに:set hlsearch2つの効果があります。オプションを設定し、vimに入力したことがあるかどうかを忘れさせます:nohlsearch。言い換えると、変更'hlsearch'(オンまたはオフ)すると、電流"highlight visibility"が論理的に一致するようになります。

于 2013-05-25T14:12:43.987 に答える