vim で前回検索した結果がハイライトされる

centos_logo Linux
centos_logo

Linuxでテキストデータ等をvimで編集して、違うファイルを開くと前回検索した結果がハイライトで表示されてしまいます。
前回の検索条件が特定の項目や変数なら、次回に違うファイルを開いても検索条件の結果をヒットしないのでハイライトになりませんが、よく使うような検索条件だと前回の検索結果がハイライトされるが煩わしいのです

前回の検索結果を解除する

前回の検索結果を解除するには、「:」を押してハイライトモードにして「nohlsearch」or「noh」と入力すると、検索結果のハイライトは解除されます。おそらく「no highlight search」という意味かと思います

:nohlsearch

# 省略形
:noh

検索結果のハイライトのON/OFFを切り替える

set [オプション]を使用して、検索結果のハイライトをON/OFFを切り替えできる事もできます。
下記のコマンドは、vimセッション内だけ有効(ファイルを閉じるとリセット)

# 検索結果をハイライトする(ON)
:set hlsearch

# 検索結果のハイライトをしない(OFF)
:set nohlsearch

恒久的に、検索結果のハイライトを表示・非表示を設定する

vimは設定ファイルとして ホームディレクトリに .vimrc を読み込みますので、その設定ファイルにハイライトのON/OFFの設定を設定しておけば、次回からvimで開くたびに検索結果のハイライトのON/OFFを恒久的に設定されます

恒久的にハイライトを非表示

# [.vimrc]ファイルを編集します。ファイルがない場合は新規に作成して下さい
$ vi ~/.vimrc
:set nohlsearch

恒久的にハイライトを表示

$ vi ~/.vimrc
:set hlsearch

ファイルを開いた時に前回の検索結果を表示しない

ファイルをvimで開いた時に、前回の検索結果を表示しない設定で、次回に新しく検索した場合はハイライト表示したい場合は、以下の設定をおこないます。

また、Ubuntu系ですがデフォルトでnohlsearchで検索結果をハイライトを無効に設定担っている場合があるので、ハイライトを有効にしてから新しいファイルを開いたときに前回の検索パターンを消すように設定します

# RHEL系
$ vim ~/.vimrc
autocmd BufReadPost * let @/="" | redraw

# Ubuntu系
vim ~/.vimrc
set hlsearch
autocmd BufReadPost * let @/="" | redraw
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク
LinuxUbuntu
スポンサーリンク
シェアする
adminをフォローする
タイトルとURLをコピーしました