#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(); } |} }