대부분이 알고 있듯이 %
온라인 정방향 검색을 사용하여 다음 일치하는 버팀대/괄호/괄호를 찾고 일치하는 파트너로 이동할 수 있습니다.
|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 명령에는 뒤로 및 앞으로 기능이 있으므로 다음과 같은 모습이어야 합니다. 파트너가 없나요? 그렇다면 일단 그랬기 때문이다.존재하다짝을 이루는 캐릭터와 동일하게 행동합니까?
답변1
만약 너라면진짜vim
일반적으로 일치하는 문자를 역방향으로 검색하려면 다음 특정 명령 중 하나를 사용할 수 있습니다 .
[(
...(일치하지 않는 이전(
문자로 이동)[{
...(일치하지 않는 이전{
문자로 이동)
다음 두 명령에는 일치하는 전달 파트너가 있습니다.
])
...(일치하지 않는 다음 문자로 이동)
)]}
...(일치하지 않는 다음 문자로 이동}
)
#ifdef
다른 유사한 C 주석 명령이 있습니다 .
vim
명령을 사용하여 더 많은 정보를 찾을 수 있습니다 :help %
.
답변2
% 일치하는 괄호를 찾습니다. 따라서 ( 또는 {에 있으면 앞으로 검색됩니다.
} 또는 )에 있으면 뒤로 검색됩니다.
%에는 방향성이 없으며 일치하는 괄호만 찾습니다.
답변3
방금 해봤습니다 :map ^] ^%%
(여기서는 ^]
= Ctrl+ v Ctrl+ 를 5비유로 사용합니다 %
= Shift+ 5).
주어진 특정 사례에 대해 작동하지만 커서에서 뒤로 검색하지 않기 때문에 항상 줄의 첫 번째 여는 대괄호를 선택하고 일치하는 항목이 없으면 커서를 줄의 시작 부분에 둡니다.
더 나은 해결책이 있습니다. 보기에도 좋지 않고 단순화할 여지가 많을 것입니다. 그러나 의미론은 정확히 맞다고 생각합니다(열린 대괄호가 없으면 커서가 움직이지 않고 다음으로 이동합니다).첫 번째현재 열 앞에 괄호를 엽니다.)
:map ^] ^[:call search("[({[]", "bes", line("."))^M
~을 위한
^]
= Ctrl+ v Ctrl+5^[
= Ctrl+v Esc^M
= Ctrl+v Return