2016-09-08 5 views
0

나는 %으로 알 수 있습니다. 일치하는 중괄호와 대괄호로 건너 뛸 수는 있습니다.하지만 중괄호와 대괄호의 위치를 ​​알고 싶다면 어떻게해야합니까? 거기에 어떤 기능이 있습니까?빔 스크립트에서 중괄호 또는 대괄호의 위치를 ​​찾을 수있는 방법

int test(int a){return a} 

처럼 내 커서가 } 후이 라인의 끝에, 그래서 열은 내가해야하는의 위치는 일치하는 중괄호 ({)을 알고 싶어, 25 (16)

+0

단순히 '%%'을 누르면됩니다. – romainl

+0

@romani 내가 말했듯이 '%'는 일치하는 쌍으로 이동할 수 있지만 줄 번호와 열 번호는 알고 싶습니다. %%를 누르면 아무 것도하지 않습니다. –

+1

1. '%'를 눌러 커서를 해당 중괄호로 이동하십시오. 2. 상태 표시 줄의 행/열을 읽으십시오. 3. '%'를 다시 눌러 뒤로 이동하십시오. 빠르고 싸게. 정말로 복잡한 해결책을 원한다면': help searchpairpos()'를보십시오. – romainl

답변

0

%으로 게임을하고 cursorpos() 또는 line() + col()을 녹음하십시오. 또는 searchpairpos()을 사용할 수 있지만 주석 컨텍스트에서 대괄호 문자를 무시하는 규칙을 지정하는 것을 잊지 마십시오.

let s:skip_comments = 'synIDattr(synID(line("."), col("."), 0), "name") =~?' 
     \ . '"string\\|comment\\|doxygen"' 

function! s:SearchBracket() 
    let flag = 'cnzW' 
    return searchpairpos('{', '', '}', flag, s:skip_comments) 
endfunction