본문 바로가기
【🧰 SW Info & Tips】/Vim

SrcExpl 특정 상황에서만 동작

반응형

1. 개요

편리하기는 한데 커서가 움직이면 현재 위치한 코드와 연관된 소스를 자동으로 보여줘서 오히려 불편함
필요시 콤마(,) + v Key 조합으로 동작하도록 수정

2. .vimrc 설정

let g:view_source = -1
nmap ,v :let g:view_source = 0<CR>*#    "view_source가 0인 경우에만 srcexpl이 동작하게 한다.

3. .vim/bundle/SrcExpl/plugin/srcexpl.vim 수정

" SrcExpl_Refresh() {{{

" Refresh the Source Explorer window and update the status

function! g:SrcExpl_Refresh()

    if g:view_source == -1
        " call SrcExpl_ReportErr("g:view_source is " . g:view_source)
        " echo "view_source off at refresh"
        return -9
    endif

    " Tab page must be invalid
    if s:SrcExpl_tabPage != tabpagenr()
        return -1
    endif

    " If the cursor is not in the edit window
    if <SID>SrcExpl_WinActive() || <SID>SrcExpl_AdaptPlugins()
        return -2
    endif

    " Avoid errors of multi-buffers
    if &modified
        call <SID>SrcExpl_ReportErr("This modified file is not saved")
        return -3
    endif

    " Get the edit window number
    let s:SrcExpl_editWin = winnr()

    " Get the symbol under the cursor
    if <SID>SrcExpl_GetSymbol()
        return -4
    endif

    let l:expr = '\<' . s:SrcExpl_symbol . '\>' . '\C'

    " Try to Go to local declaration
    if g:SrcExpl_searchLocalDef != 0
        if !<SID>SrcExpl_GoDecl(l:expr)
            let g:view_source = -1
            " echo "view_source off at decl"
            return 0
        endif
    endif

    " Try to tag something
    call <SID>SrcExpl_TagSth(l:expr)

    let g:view_source = -1
    " echo "view_source off at tagsth"
    "
    return 0

endfunction " }}}

4. 출처: https://pantarei.tistory.com/2214

 

[Vim] Source Explorer 플러그인이 특정 상황에서만 동작하게 하기

srcexpl.vim가 편리하기는 한데 커서가 움직이면 보고 있던 소스를 볼 수 없다. 커서가 움직이면 현재 위치한 코드와 연관된 소스를 자동으로 보여줘서 오히려 불편하다. - Eclipse처럼 Ctrl, Shift 키를

pantarei.tistory.com

반응형