Ладно, попробуйте это:
:map <F12> :set nohls<CR>:let @/ = ""<CR>:set hls<CR>
Затем, если вы нажмете F12 , он поворачивает подсветку, затем устанавливает последнюю строку поиска на пустую (то есть: очищаетэто), и снова включается выделение.
Или, если вы хотите сохранить строку поиска, вы можете сделать что-то вроде:
:map <F12> :set nohls<CR>:let @s = @/<CR>:let @/ = ""<CR>:set hls<CR>
:map <SHIFT><F12> :let @/=@s<CR>
Теперь после нажатия SHIFT F12 исходная строка поиска будет возвращена назад и выделена.
Если это все еще не удовлетворяет вас, вы все равно можете сделать это следующим образом:
:map <F12> :highlight Search term=None ctermfg=None ctermbg=None guifg=None guibg=None<CR>
:map <SHIFT><F12> :highlight Search term=OV1 ctermfg=OV2 ctermbg=OV3 guifg=OV4 guibg=OV5<CR>
Где OVx
- это исходные значения, которые вы можете записать при выдаче :highlight Search<CR>
.Таким образом, его можно отключить, а затем снова включить, но с двумя сочетаниями клавиш.Если вы хотите его с одним, вы должны создать функцию для того, что переключает его, а затем создать отображение для этой функции.