ViM: Искать и выделять, но не прыгать

Одна вещь, которая работала для меня после выполнения всего вышеперечисленного, была:
В окне Threads (Debug-> Windows-> Threads) установите Group by на None. Это можно сделать только во время отладки.

Это оказало влияние даже после закрытия этого окна.

43
задан Ashwin Nanjappa 23 November 2010 в 13:56
поделиться

2 ответа

Мое решение:

nnoremap <silent><expr> * v:count ? '*'
      \ : ':execute "keepjumps normal! *" <Bar> call winrestview(' . string(winsaveview()) . ')<CR>'
nnoremap <silent><expr> g* v:count ? 'g*'
      \ : ':execute "keepjumps normal! g*" <Bar> call winrestview(' . string(winsaveview()) . ')<CR>'

Профессионалы:

  • Никакое мерцание.
  • список Перехода остается неизменным.
  • , Если количество дано, оно действует как оригинал *.
  • , Оно не использует метки или регистры.
  • Используя фактический *, его поведение почти идентично с * (за исключением перехода).
  • Этому не нужна сменная установка.
0
ответ дан 26 November 2019 в 23:06
поделиться

Подобный * мы имеем

[I ..................... it shows where the word under the cursor appears

, у меня также есть некоторые полезные строки на моем vimrc, который может, возможно, помочь Вам

" When double click a word vim will hightlight all other ocurences
" see CountWordFunction()
" [I shows lines with word under the cursor
nnoremap <silent> <2-LeftMouse> :let @/='\V\<'.escape(expand('<cword>'), '\').'\>'<cr>:set hls<cr>:CountWord<cr>
nnoremap <Leader>* :let @/='\V\<'.escape(expand('<cword>'), '\').'\>'<cr>:set hls<cr>:CountWord<cr>

if !exists('*CountWordFunction')
    fun! CountWordFunction()
        try
            let l:win_view = winsaveview()
            exec "%s/" . expand("<cword>") . "//gn"
        finally
            call winrestview(l:win_view)
        endtry
    endfun
endif

command! -nargs=0 CountWord :call CountWordFunction()
cnoreabbrev cw CountWord
nnoremap <F3> :CountWord<CR>
0
ответ дан 26 November 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: