Git Bash 환경에서 Vim 비주얼 블록 모드로 여러 줄 일괄 수정하기
git rebase -i 작업을 하다 보면 첫 번째 줄을 제외한 나머지 pick 키워드를 모두 s(squash)나 f(fixup)로 변경해야 할 때가 많습니다. 한 줄씩 수정하는 대신, Vim의 비주얼 블록 모드를 사용하면 단 몇 초 만에 수십 줄을 일괄 수정할 수 있습니다.
1. 비주얼 블록 모드 진입 및 편집 순서
가장 추천하는 방식은 커서를 세로로 늘려 한꺼번에 글자를 바꾸는 방법입니다.
- 커서 이동: 수정하려는 두 번째 줄의
p(pick의 첫 글자) 위치로 이동합니다. - 블록 모드 진입:
- 일반적인 환경:
Ctrl+v - Git Bash(Windows) 환경:
Ctrl+q(윈도우 단축키 충돌 방지)
- 일반적인 환경:
- 영역 선택:
j키를 눌러 마지막 줄까지 아래로 쭉 내려서 수정할 영역을 세로로 선택합니다. - 수정 모드:
c(change) 키를 누릅니다. 선택된 글자들이 사라지며 입력 모드로 전환됩니다. - 내용 입력: 바꾸고 싶은 글자(예:
s)를 입력합니다. - 적용:
Esc키를 누릅니다. 잠시 기다리면 선택했던 모든 줄의 앞글자가 순식간에s로 바뀝니다.
2. Git Bash에서 Ctrl + V가 안 될 때 해결법
Windows용 Git Bash(MinTTY)에서는 Ctrl + V가 ‘붙여넣기’로 선점되어 있어 비주얼 모드가 작동하지 않을 수 있습니다. 이럴 땐 당황하지 말고 아래 방법을 시도하세요.
- 대체 키 사용:
Ctrl+q를 누르면 동일하게 작동합니다. - 설정 변경:
- Git Bash 창 상단 바 우클릭 ->
Options...->Keys Ctrl+Shift+letter shortcuts를 활성화하거나 붙여넣기 단축키를 해제하면Ctrl + V를 Vim 본연의 기능으로 쓸 수 있습니다.
- Git Bash 창 상단 바 우클릭 ->
3. 다른 유용한 팁
- 되돌리기: 실수했다면 명령 모드에서
u를 눌러 즉시 복구하세요. - 다시 실행: 되돌린 걸 취소하려면
Ctrl+r을 누르면 됩니다. - 명령어로 처리: 블록 지정도 귀찮다면 아래 명령어로 2행부터 끝까지 한 번에 바꿀 수 있습니다.
:2,$s/^pick/s/
이 방법을 익혀두면 반복적인 편집 작업 시간을 획기적으로 줄일 수 있습니다!
댓글남기기