대부분의 사람들이 알고 있듯이, %
라인에서 앞으로 검색하여 다음 쌍의 버팀대 / 브래킷 / 패런을 찾고 일치하는 파트너로 이동할 수 있습니다.
|a|rray[index] = value;
" |e| is the cursor; hit %:
array[index|]| = value;
나는 라인에서 뒤로 검색하는 비슷한 키가 있기를 바라고 있습니다.
array[index] = value|;|
" |;| is the cursor again, hit the key I'm looking for:
array|[|index] = value;
대부분의 vim 명령에는 앞뒤가 모두 있으므로 그렇게해야합니다. 파트너가 없습니까? 그렇다면, 그건 일단 때문이다 에 페어링 문자가 같은 행동 것인가?
답변
당신이 경우 정말 일반적인 일치하는 문자를 뒤쪽으로 검색하려면, 당신은이 중 하나를 사용할 수 있습니다 vim
– 특정 명령 :
[(
… (이전의 일치하지 않는(
문자 로 이동 )[{
… (이전의 일치하지 않는{
문자 로 이동 )
이 두 명령에는 일치하는 전달 파트너가 있습니다.
])
… (다음으로 일치하지 않는)
캐릭터 로 이동 )]}
… (다음으로 일치하지 않는}
캐릭터 로 이동 )
#ifdef
C 주석에 대한 다른 유사한 명령이 있습니다 .
vim
명령을 사용하여 더 많은 정보를 찾을 수 있습니다 :help %
.
답변
%는 대괄호를 찾습니다. 따라서 켜져 있으면 (또는 {앞으로 검색합니다.
} 또는) 인 경우 뒤로 검색합니다.
%는 방향이 아니며 일치하는 대괄호를 찾습니다.
답변
방금 시도했습니다 :map ^] ^%%
( ^]
= Ctrl+ v Ctrl+ 5와 유사하게 %
= Shift+ + 사용 5).
주어진 특정 경우에 작동하지만 커서에서 뒤로 검색하지 않기 때문에 항상 줄에서 첫 번째 열린 괄호를 선택하고 일치하는 것이 없으면 줄의 시작 부분에 커서를 둡니다. .
이것은 더 나은 솔루션입니다. 그것은 추악하고 아마도 단순화 할 여지가 많지만 의미가 정확하다고 생각합니다 (열린 파렌이 없으면 커서를 움직이지 않고 현재 열 전에 첫 번째 열린 파린으로 이동합니다 ).
:map ^] ^[:call search("[({[]", "bes", line("."))^M
…에 대한
^]
= Ctrl+ v Ctrl+5^[
= Ctrl+v Esc^M
= Ctrl+v Return