Vim은 가장 널리 사용되고 영향력 있는 명령줄 텍스트 편집기 중 하나입니다. 터미널 환경에서 작업하는 개발자라면 누구나 유용하게 쓸 수 있는 강력한 기능과 옵션을 다수 제공합니다. 다만 Vim은 초보 사용자에게 다소 어렵게 느껴질 수 있습니다. 배우고 익히는 과정이 복잡해서가 아니라, 일반적인 편집기와는 사뭇 다른 방식으로 동작하기 때문입니다. 예를 들어 Vim은 단축키, 모드, 키 바인딩에 익숙해지는 데 시간이 필요하며, 심지어 'Vim 종료하는 법' 하나를 설명하는 데도 긴 글이 필요할 정도입니다.
이 가이드에서는 여러 줄의 코드 블록을 손쉽게 주석 처리하는 빠르고 간단한 방법을 익히며 Vim을 더욱 편안하게 활용하는 노하우를 알아봅니다.
먼저, 여러 줄 주석 처리에 앞서 한 줄을 주석 처리하는 기본 방법부터 시작점으로 삼아 살펴보겠습니다.
Vim에서 한 줄 주석 처리하기
Vim에서 한 줄을 주석 처리하려면 Ctrl+V를 눌러 비주얼 모드(Visual Mode)로 진입합니다. 그다음 주석 처리할 줄로 이동한 뒤 C 키를 누릅니다.
Vim 설정에 따라 선택한 줄이 주석 처리됩니다. 아주 간단하죠?
이제 좀 더 깊이 들어가 보겠습니다.
여러 줄 주석 처리하기
Vim에서 여러 줄을 주석 처리하는 방법을 익히기 위해 간단한 파이썬 스크립트를 예제로 사용해 보겠습니다.
vim comments.py
방법 1 – 행 번호 사용
여러 줄을 주석 처리하는 첫 번째 방법은 행 번호를 이용하는 것입니다. Vim에서는 시작 줄과 끝 줄을 지정하여 해당 범위를 한 번에 주석 처리할 수 있습니다.
1. 먼저 편집할 파일을 Vim으로 엽니다.
2. ESC 키를 눌러 Vim 명령 모드(Command Mode)로 진입합니다.
3. 다음 명령어를 입력합니다.
:[start],[end]/s/^/#
여기서 start는 주석 처리를 시작할 줄 번호, end는 주석 블록을 끝낼 줄 번호입니다.
다음 스크린샷은 15번째 줄부터 25번째 줄까지 주석 처리하는 예시입니다.
:15,25s/^/#
방법 2 – 블록 하이라이트
주석 처리할 줄 번호를 모른다면 하이라이트 방식을 사용해 대상 블록을 직접 선택한 후 주석 처리할 수 있습니다.
하이라이트 방식을 사용하려면 주석 처리를 시작할 줄로 이동한 뒤 Shift+V를 누릅니다.
그러면 커서가 위치한 줄 전체가 하이라이트됩니다.
다음으로 위아래 화살표 키를 사용해 주석 처리할 줄들을 선택합니다.
참고: 마우스 휠을 이용해서도 원하는 줄을 선택할 수 있습니다.
대상 블록이 하이라이트되면 RETURN 키를 눌러 비주얼 라인(Visual Line) 모드를 종료합니다.
이어서 ESC 키를 눌러 명령 모드로 진입한 후 다음 명령어를 입력합니다.
:s/^/#
Enter 키를 누르면 명령이 실행되며 하이라이트된 줄들이 주석 처리됩니다.
방법 3 – 정규 표현식
Vim은 정규 표현식도 지원하므로 특정 단어가 포함된 줄을 찾아 주석 처리할 수 있습니다. 특정 단어가 포함된 줄을 주석 처리하는 명령어는 다음과 같습니다.
:g/\keyword/s/^/#
여기서 "keyword"는 주석 처리하고자 하는 특정 단어를 의미합니다.
다음 예시는 True라는 키워드가 포함된 모든 줄을 주석 처리합니다.
:g/\True/s/^/#
Vim은 명령 실행 전 대상 단어를 자동으로 하이라이트해 보여줍니다.
마지막으로 ENTER 키를 눌러 명령을 실행합니다.
방법 4 – 비주얼 모드
Vim의 비주얼 모드를 활용해서도 코드 블록을 주석 처리할 수 있습니다.
먼저 주석 처리를 시작할 줄로 이동한 뒤 Ctrl+V를 눌러 비주얼 모드를 활성화합니다.
위아래 화살표 키로 주석 처리할 모든 줄을 선택합니다. Vim은 선택된 각 줄의 시작 부분에 하이라이트를 표시해 선택 상태를 알려줍니다.
대상 줄들이 모두 선택되면 Shift+I를 눌러 입력 모드(Insert Mode)로 진입합니다.
다음으로 해당 파일 형식에 맞는 주석 기호를 입력합니다. 여기서는 파이썬 코드이므로 샵(#) 기호를 삽입합니다.
마지막으로 ESC 키를 누르면 Vim이 선택된 모든 줄에 주석을 한꺼번에 추가합니다.
여러 줄 주석 해제하기
반대로 여러 줄의 주석을 해제해야 할 때도 있습니다. 이 경우에도 비주얼 모드를 활용할 수 있습니다.
먼저 주석을 해제할 줄로 이동한 뒤 Ctrl+V를 눌러 하이라이트 모드를 활성화합니다.
위아래 화살표 키로 주석을 해제할 모든 줄을 선택한 후, X 키를 누르면 주석이 제거됩니다.
또 다른 방법으로는 주석 기호로 시작하는 모든 줄에서 해당 기호를 삭제하는 치환 명령어를 사용할 수 있습니다.
명령어는 다음과 같습니다.
:%s/^<주석 기호>/
명령어의 "주석 기호" 부분은 실제로 제거하려는 주석 기호로 바꿔 입력해야 합니다.
마무리
Vim은 터미널에서 텍스트 파일을 쉽고 편안하게 다룰 수 있게 해주는 훌륭한 텍스트 편집기입니다. 이 튜토리얼에서는 Vim 편집기에서 여러 줄을 주석 처리하는 다양한 방법을 살펴보았지만, 이는 Vim의 방대한 기능 중 극히 일부에 불과합니다. Vim을 워드 프로세서처럼 변신시키는 등 그 활용 가능성은 무궁무진합니다. Vim 경험이 많은 사용자라면 다른 Vim 팁과 트릭도 함께 확인해 보시기 바랍니다.