Я SSH к серверу, то sudo, чтобы получить root. В оболочке мой курсор мигает желтым блоком. Когда я открываю файл с помощью vim, если текст того же цвета, что и мой курсор, все слово блокируется желтым цветом. Главное, что это происходит только с определенными словами в файле, но не со всеми. Очень странно. Я также заметил, что я могу набирать текст в Vim только для того, чтобы слово, которое я печатаю, было выделено желтым цветом, тогда я больше не вижу своего набранного слова. Кто-нибудь когда-нибудь сталкивался с таким поведением раньше и как это исправить? В качестве теста я перешел с другого сервера на тот, на котором у меня возникла проблема, и увидел ту же проблему, так что это исключает проблему в моей локальной среде.

ОБНОВЛЕНИЕ - теперь я могу подтвердить, что это как-то связано с кешем истории. Если я открываю файл в Vim, слова, которые превращаются в желтый блок, - это только те слова, которые я искал в предыдущем файле, или использую регулярное выражение в VIM. Это очень странно.

Какие строки ниже нужно закомментировать, чтобы отключить подсветку для последнего использованного шаблона поиска?

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif

filetype plugin on

if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif

Я предполагаю, что его "set hlsearch" - это то, что мне нужно комментировать?

2 ответа2

3

Чтобы навсегда отключить подсветку поиска, добавьте

set nohlsearch

в вашем .vimrc

Вы также можете изменить подсветку поиска после различных событий

au InsertEnter * :setlocal nohlsearch
au InsertLeave * :setlocal hlsearch

Или быстрый способ переключения подсветки поиска:

inoremap <silent><leader>l  <c-o>:set hlsearch! hlsearch?<CR>
noremap <silent><leader>l  :set hlsearch! hlsearch?<CR>
1

Возможно, VIM подсвечивает результаты поиска из-за какого-то плагина, настроек vimrc или поведения, которое мне не совсем понятно. В следующий раз попробуйте :nohl . Вот как я заставляю VIM прекращать выделять результаты поиска после того, как я закончу с /blah , и он сообщит нам, является ли это режимом подсветки VIM или нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .