한글이나 워드 등을 써본 사람이라면 [Shift]를 누른 채 화살표 키를 눌러서 원하는 영역을 지정해서 복사, 삭제, 잘라내기 등을 해본 경험이 있을 것이다. 이때 우리가 지정한 영역이 반전되어 아래와 같이 나타나는데 이를 블록이라고 한다.
블록으로 지정된 부분 ← 블록으로 지정된 모습
이렇게 블록으로 지정하는 것이 얼마나 편한지는 이야기하지 않아도 잘 알 것이다.
vim은 다양한 상황에서 쉽게 블록 지정이 가능하도록 3가지 모드를 제공하고 있어서 이 사용법에 익숙해지면 마우스를 쓰지 않고도 편하게 다양한 상황에서 블록을 지정하여 편집할 수 있게 된다.
vim에서 블록을 지정할 수 있게 해주는 3가지 모드는 비주얼 모드, 비주얼 라인 모드, 비주얼 블록 모드라고 부른다.
우리가 흔히 아는 블록 지정 방식이다. 원래 커서 위치에서 옮겨진 커서 위치까지 순차적으로 글자 단위로 블록이 지정된다.
비주얼 모드로 진입하려면 명령 모드에서 소문자 v 키를 누르면 된다.
명령 모드에서 소문자 v 키 → 비주얼 모드로 진입
이 때, 편집창 하단에 비주얼(또는 VISUAL) 이라는 표시가 뜨고 이 상태에서 화살표 키나 h, j, k, l 키들을 눌러 커서를 움직이면 원래 커서 위치에서 옮겨진 커서 위치까지 글자 단위로 아래의 그림처럼 블록이 지정된다.
비주얼 라인 모드(VISUAL LINE MODE)
비주얼 라인 모드는 그야말로 라인(행) 단위로 지정되는 모드다. 즉, 블록은 무조건 하나의 라인(행) 단위로 생기는 것이다.
비주얼 라인 모드로 진입하려면 명령 모드에서 대문자 V 키를 누르면 된다.
명령 모드에서 대문자 V 키 → 비주얼 라인 모드로 진입
이 때, 편집창 하단에 비주얼 라인(또는 VISUAL LINE)이라고 표시가 뜨고 이 상태에서 화살표 키나 h, j, k, l 키들을 눌러 커서를 움직이면 원래 커서 위치에서 옮겨진 커서 위치까지 라인(행) 단위로 아래의 그림처럼 블록이 지정된다.
비주얼 블록 모드(VISUAL BLOCK MODE)
비주얼 블록 모드는 현재 커서 위치에서 옮겨진 커서 위치까지 사각형의 블록을 지정할 수 있게 해준다. 그래서 열 모드(column mode)라고도 불리우는데 이는 일반적인 에디터와 다르게 열단위로도 블록 지정이 가능하기 때문이다. 이를 이용하면 엑셀에서 스프레드 시트를 셀 단위로 지정하여 조작하는 것과 비슷한 효과를 얻을 수 있다.
비주얼 블록 모드로 진입하려면 명령 모드에서 대문자 <Ctrl+v> 키를 누르면 된다.
명령 모드에서 <Ctrl+v> 키 → 비주얼 블록 모드로 진입
이 때, 편집창 하단에 비주얼 블록(또는 VISUAL BLOCK)이라고 표시가 뜨고 이 상태에서 화살표 키나 h, j, k, l 키들을 눌러 커서를 움직이면 원래 커서 위치에서 옮겨진 커서 위치까지 사각형의 박스를 그리며 아래의 그림처럼 블록이 지정된다.
아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다.
018 블록 지정의 비주얼 모드.apkg