vi 또는 vim에서 문서 전체를 삭제하거나 여러 줄을 선택해 한 번에 삭제하는 방법은 익숙하지 않으면 어렵게 느껴질 수 있습니다.
이번 글에서는 vi 에디터에서 전체 문서를 빠르게 삭제하는 법과, 연속된 여러 줄을 선택해 한 번에 지우는 실전 명령어를 알아보겠습니다.
목차
vi 에디터 편집 모드 이해하기
vi 에디터는 세 가지 주요 모드로 작동합니다. 전체 삭제나 여러 줄 삭제는 명령 모드 또는 비주얼 모드에서 실행해야 합니다.
명령 모드 (Command mode)
기본 모드, vi 명령어로 파일을 열었을 때 이 상태에서 실행됨. : 문자 이후 명령어 또는 조건문을 적용할 수 있으며 입력 모드에서 Esc 키로 돌아올 수 있음.
입력 모드 (Insert mode)
i 키로 진입하며 실제 텍스트 입력 가능. 우리가 문서를 편집할 때 적용되는 모드
비주얼 모드 (Visual mode)
v 또는 V 키를 누르면 커서가 위치한 곳 부터 블록 영역이 시작되고 특정 위치까지 커서를 이동해 블록으로 선택 가능, 마우스로 드래그 한 것과 동일한 효과.
vi 문서 전체 내용을 한 번에 삭제하는 방법
명령 모드에서 다음 키를 차례대로 눌러 명령어를 사용합니다.
ggdG
gg:문서의 첫 번째 줄로 이동하는 명령어
dG:커서가 위치한 줄부터 마지막 줄까지 삭제
이 2가지 조합의 명령어를 사용하면 문서 전체 내용을 한 번에 삭제합니다. 삭제된 내용은 u 키를 눌러 복구(undo)도 가능합니다.
vi에서 여러 줄을 선택하고 삭제하는 방법
문서 내에서 여러 줄을 한 번에 삭제하는 방법은 2가지로 비주얼 모드와 명령 모드에서 적용할 수 있습니다.
비주얼 모드에서 영역 선택
편집 화면이라면 Esc 키를 눌러 명령 모드로 전환합니다.
1. 명령 모드에서 커서를 시작할 줄에 위치
2. 대문자 V 키를 눌러 비주얼 라인 모드 진입
3. 방향키 또는 j,k 키로 여러 줄 선택
4. 선택 완료 후 d 키를 눌러 삭제
ℹ️ j 키는 아래로, k 키는 위로 커서를 이동합니다.
명령어로 특정 줄 영역 선택
:10,20d
:10,20d
는 10번째 줄부터 20번째 줄까지 삭제합니다. 첫 번째 줄부터 마지막 줄까지 선택하면 문서 전체 영역이 선택되며 삭제됩니다.
또한 :%d
명령어로 전체 줄 삭제와 동일하게 사용할 수 있습니다. (ggdG와 유사)
추가 팁
명령 모드에서 u 키를 눌러 마지막 작업을 취소(Undo)할 수 있습니다. 전체 줄을 삭제했다가 취소하고 싶을 때 사용할 수 있습니다. 또한 Ctrl+r 키를 눌러 취소한 작업을 다시 실행(Redo)할 수 있습니다.