#TIL #vim 중괄호(braces)를 넘어 다니자
1 { 2 { 3 { |4 } A } B }
[{
입력
1 { 2 { 3 |{ 4 } A } B }
[{
입력
1 { 2 |{ 3 { 4 } A } B }
대괄호(square brackets)는 방향이다. 즉 [{
키를 입력하면 이전 {
문자로 이동한다.
1 { 2 |{ 3 { 4 } A } B }
그럼 여기서 ]}
키를 입력하면 어떻게 되나?
1 { 2 { 3 { 4 |} A } B }
여기가 아니라
1 { 2 { 3 { 4 } A |} B }
여기로 입력한다. 왜냐면 unmatched 문자를 찾아서 이동하기 때문이다. {}
쌍은 무시한다.
이게 {}
문자를 사용하는 프로그래밍 언어에서는 상위 level brace로 이동하거나 현재 level의 닫거나 여는 brace로 이동할 수 있다. 하위 level은 안 된다. 왜냐면 unmatched 문자를 찾기 때문에 {}
쌍은 무시한다.
if (a == 0)
{
if (b == 0)
{
if (c == 0)
{
|call_body();
}
}
}
[{
입력
if (a == 0)
{
if (b == 0)
{
if (c == 0)
|{
call_body();
}
}
}
[{
입력
if (a == 0)
{
if (b == 0)
|{
if (c == 0)
{
call_body();
}
}
}
]}
입력
if (a == 0)
{
if (b == 0)
{
if (c == 0)
{
call_body();
}
|}
}