정리/Vim

Vim 방금 했던 작업을 내가 선택한 여러 줄에 똑같이 한꺼번에 적용

워로디스 2026. 3. 6. 22:35

Vim 에디터에서 . (점) 명령은 직전에 수행한 편집 작업을 반복하는 강력한 기능을 가집니다. 하지만 반복해야 할 줄이 많을 경우, 이를 일일이 찾아가서 누르는 것은 비효율적입니다. 이때 :'<,'>normal . 명령을 사용하면 선택한 모든 영역에 해당 작업을 한 번에 적용할 수 있습니다.

1. 명령어의 구조 분석

이 명령은 Vim의 여러 개념이 결합된 형태로, 각 부분의 역할은 다음과 같습니다.

  • : (Command-line mode): Vim에서 내장 명령어를 실행하기 위해 명령행 모드로 진입하는 기호입니다.
  • '<,'> (Visual Range): 비주얼 모드로 영역을 선택한 상태에서 :를 누르면 자동으로 삽입되는 기호입니다.
  • '<: 선택한 영역의 시작 라인
  • '>: 선택한 영역의 끝 라인
  • 이는 다음에 입력할 명령이 '현재 선택된 범위' 내에서만 실행되도록 제한합니다.
  • normal: 뒤에 오는 키 시퀀스를 일반 모드(Normal Mode)에서 입력하는 것처럼 실행하라는 지시어입니다.
  • . (Repeat): 일반 모드에서 마지막으로 실행된 편집 명령을 반복하는 단축키입니다.

결과적으로 :'<,'>normal .은 "내가 선택한 범위('<,'>)의 각 줄에 대해, 일반 모드(normal)에서 마지막 작업(.)을 수행하라"는 뜻이 됩니다.

2. 작업 절차 및 예시

이 기능을 활용하여 여러 줄의 코드 앞에 주석(//)을 일괄적으로 다는 과정은 다음과 같습니다.

  1. 기본 작업 수행: 임의의 한 줄에서 i//를 입력하여 주석을 달고 Esc를 눌러 일반 모드로 돌아옵니다. 이제 Vim은 '글자 앞에 //를 삽입함'을 마지막 작업으로 기억합니다.
  2. 영역 선택: 작업을 적용할 나머지 줄들을 비주얼 모드(v 또는 V)로 선택합니다.
  3. 명령어 입력: : 키를 누릅니다. 화면 하단에 :'<,'>가 나타나면 이어서 normal .을 입력합니다.
  4. 실행: Enter를 누르면 선택된 모든 줄의 맨 앞에 주석이 일괄 적용됩니다.

3. 주요 특징 및 장점

  • 효율성: 수십 줄에서 수백 줄에 이르는 반복적인 수정 작업을 단 몇 초 만에 완료할 수 있습니다.
  • 유연성: 단순한 텍스트 삽입뿐만 아니라 단어 삭제(dw), 한 줄 지우기(dd), 대문자 변환(~) 등 일반 모드에서 마친 모든 수정 작업을 대상으로 합니다.
  • 자동화: 매크로를 복잡하게 기록하지 않고도 즉각적인 반복 작업을 처리할 수 있는 가장 빠른 방법 중 하나입니다.