문제

NetBeans에서 일 했고이 기능을 좋아했습니다. 변수 이름으로 커서를 배치하면 변수의 모든 발생이 강조 표시됩니다. 이는 변수의 모든 발생을 빠르게 검색하는 데 매우 유용합니다. VIM 에이 동작을 추가 할 수 있습니까?

도움이 되었습니까?

해결책

이 자동 명령은 당신이 원하는 것을 할 것입니다.

:autocmd CursorMoved * exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))

vi highlight current word

편집하다: 나는 그것을 사용했다 IncSearch 내 예에서 강조적 인 그룹이지만이 명령을 실행하여 사용할 다른 색상을 찾을 수 있습니다.

:so $VIMRUNTIME/syntax/hitest.vim

다른 팁

설정하면

:set hlsearch

검색 패턴의 모든 발생을 강조한 다음 사용합니다. * 또는 # 커서 아래에서 단어의 발생을 찾으려면 원하는대로 방법이 있습니다. 그러나 구문 인식 변수 강조 표시는 VIM의 범위를 벗어난 것이라고 생각합니다.

이 명령문은 변수가 커서 아래 단어의 모든 발생을 강조하는 것을 활성화/비활성화 할 수있게합니다.

:autocmd CursorMoved * exe exists("HlUnderCursor")?HlUnderCursor?printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\')):'match none':""

하나는 강조 표시를 활성화합니다.

:let HlUnderCursor=1

다음과 같이 비활성화합니다.

:let HlUnderCursor=0

강조 표시를 활성화/비활성화하기위한 바로 가기 키를 쉽게 정의 할 수 있습니다.

:nnoremap <silent> <F3> :exe "let HlUnderCursor=exists(\"HlUnderCursor\")?HlUnderCursor*-1+1:1"<CR>

변수를 삭제하면 매치 명령문이 실행되는 것을 방지 할 수 있으며 현재 하이라이트를 지우지 않습니다.

:unlet HlUnderCursor

언어 단어를 강조하지 않으려면 if, #define) 커서 가이 단어에있을 때이 기능을 귀하의 .vimrc @TOO_MUCH_PHP 답변을 기반으로합니다.

let g:no_highlight_group_for_current_word=["Statement", "Comment", "Type", "PreProc"]
function s:HighlightWordUnderCursor()
    let l:syntaxgroup = synIDattr(synIDtrans(synID(line("."), stridx(getline("."), expand('<cword>')) + 1, 1)), "name")

    if (index(g:no_highlight_group_for_current_word, l:syntaxgroup) == -1)
        exe printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))
    else
        exe 'match IncSearch /\V\<\>/'
    endif
endfunction

autocmd CursorMoved * call s:HighlightWordUnderCursor()

당신이 정말로 원하는 것은 Shuhei Kubota의 다음 플러그인이라고 생각합니다.

http://www.vim.org/scripts/script.php?script_id=4306

설명에 따르면 : '이 스크립트는 많은 Ides와 같은 커서 아래에서 단어를 강조합니다.'

건배.

이 변형은 속도 (cursormoved 대신 커서 홀드 사용)에 최적화되고 다음과 호환됩니다. hlsearch. 현재 검색어 강조 표시는 중단되지 않습니다.

" autosave delay, cursorhold trigger, default: 4000ms
setl updatetime=300

" highlight the word under cursor (CursorMoved is inperformant)
highlight WordUnderCursor cterm=underline gui=underline
autocmd CursorHold * call HighlightCursorWord()
function! HighlightCursorWord()
    " if hlsearch is active, don't overwrite it!
    let search = getreg('/')
    let cword = expand('<cword>')
    if match(cword, search) == -1
        exe printf('match WordUnderCursor /\V\<%s\>/', escape(cword, '/\'))
    endif
endfunction

vim_current_word 상자 밖으로 작동하고 구문을 인식하며 사용자 정의 가능한 색상을 허용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top