Подсветка стиля Emacs для инкрементального поиска в vim - PullRequest
7 голосов
/ 25 января 2011

В Vim, есть ли способ включить подсветку на лету для всех совпадений при поиске?

Если я включу incsearch и наберу "/ что-то", он выделиттолько первый матч.Если я включу hlsearch и наберу "/ что-то", ничего не произойдет, пока я не нажму клавишу ввода (это только выделяет предыдущий поиск).

В emacs будет выделено первое совпадение и (после небольшой задержки) все остальныесовпадения на экране подсвечиваются другим цветом, обеспечивая почти мгновенную обратную связь при сканировании совпадений в фрагменте кода.

Ответы [ 2 ]

4 голосов
/ 25 января 2011

Не отвечает на ваш вопрос, но, возможно, этот пост в Викии может помочь?

Цитата из этого поста:

Вставьте следующий код в вашvimrc, или создайте файл ~ / .vim / plugin / autohighlight.vim (Unix) или $ HOME / vimfiles / plugin / autohighlight.vim (Windows), содержащий приведенный ниже скрипт.Затем перезапустите Vim.

Чтобы автоматически выделить текущее слово, введите z/.Чтобы выключить, введите z/ еще раз.

" Highlight all instances of word under cursor, when idle.
" Useful when studying strange source code.
" Type z/ to toggle highlighting on/off.
nnoremap z/ :if AutoHighlightToggle()<Bar>set hls<Bar>endif<CR>
function! AutoHighlightToggle()
  let @/ = ''
  if exists('#auto_highlight')
    au! auto_highlight
    augroup! auto_highlight
    setl updatetime=4000
    echo 'Highlight current word: off'
    return 0
  else
    augroup auto_highlight
      au!
      au CursorHold * let @/ = '\V\<'.escape(expand('<cword>'), '\').'\>'
    augroup end
    setl updatetime=500
    echo 'Highlight current word: ON'
    return 1
  endif
endfunction
0 голосов
/ 26 января 2011

Добавьте это к вашему .vimrc

hi Search guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD

Конечно, вы можете изменить цвета в соответствии с вашими потребностями.

...