vi / vim 유용한 명령어 및 단축키 정리
vi는 리눅스 기본 텍스트 편집기이며, vim은 vi의 기능을 확장한 버전이다. 아래는 모드 전환, 파일 조작, 복사·붙여넣기, 탐색, 검색 및 치환 등 주요 기능을 단축키 중심으로 정리한 내용이다.
# alias vi = vim
1. 모드 전환
명령어 설명
| i | 현재 커서 앞에서 입력 모드로 전환 |
| I | 현재 줄의 맨 앞에서 입력 시작 |
| a | 현재 커서 뒤에서 입력 시작 |
| A | 현재 줄의 끝에서 입력 시작 |
| o | 아래 새 줄 생성 후 입력 모드 |
| O | 위에 새 줄 생성 후 입력 모드 |
| Esc | 명령 모드로 전환 |
2. 저장 및 종료
명령어 설명
| :w | 저장 |
| :q | 종료 |
| :wq 또는 ZZ | 저장 후 종료 |
| :q! | 저장하지 않고 강제 종료 |
| :w filename | 다른 이름으로 저장 |
3. 이동 및 탐색
명령어 설명
| h, j, k, l | 왼쪽, 아래, 위, 오른쪽 이동 |
| 0 | 현재 줄의 맨 앞으로 이동 |
| ^ | 현재 줄의 첫 문자로 이동 |
| $ | 현재 줄의 끝으로 이동 |
| gg | 문서의 맨 위로 이동 |
| G | 문서의 맨 아래로 이동 |
| :n | n번째 줄로 이동 (:10 → 10번째 줄) |
| Ctrl + d | 아래로 반 페이지 이동 |
| Ctrl + u | 위로 반 페이지 이동 |
| w, b | 다음 단어, 이전 단어로 이동 |
4. 복사, 잘라내기, 붙여넣기
명령어 설명
| yy 또는 Y | 현재 줄 복사 |
| p | 복사한 내용을 현재 커서 아래에 붙여넣기 |
| P | 복사한 내용을 현재 커서 위에 붙여넣기 |
| dd | 현재 줄 잘라내기 |
| d3d | 아래 포함하여 3줄 삭제 |
| x | 현재 커서 위치 문자 삭제 |
| u | 이전 작업 취소 (undo) |
| Ctrl + r | undo 복원 (redo) |
5. 검색 및 치환
명령어 설명
| /단어 | 아래 방향으로 단어 검색 |
| ?단어 | 위 방향으로 단어 검색 |
| n | 같은 방향으로 다음 검색 결과로 이동 |
| N | 반대 방향으로 이동 |
| :%s/old/new/g | 문서 전체에서 old → new 치환 |
| :%s/^/#/ | 문자열의 처음을 찾아 # 추가하기 |
| :%s/$/./ | 문자열의 끝을 찾아 . 추가하기 |
| :10,20s/old/new/g | 10~20줄에서 치환 |
| :s/old/new/ | 현재 줄에서 첫 번째만 치환 |
6. 화면 제어
명령어 설명
| Ctrl + l | 화면 다시 그리기 (화면 깨졌을 때 유용) |
| :set nu (:set number) | 줄 번호 표시 |
| :set nonu (:set nonumber) | 줄 번호 숨기기 |
| :syntax on | 구문 강조 켜기 |
| :syntax off | 구문 강조 끄기 |
7. 복수 파일 편집 (vim)
명령어 설명
| :e 파일명 | 새 파일 열기 |
| :vsp 파일명 | 수직 분할로 파일 열기 |
| :sp 파일명 | 수평 분할로 파일 열기 |
| Ctrl + w w | 창 전환 |
| :bn / :bp | 다음 / 이전 버퍼로 이동 |
| :ls | 열려 있는 버퍼 목록 보기 |
'programming' 카테고리의 다른 글
| Perl to Python (0) | 2023.07.12 |
|---|---|
| json load/loads/dump/dumps 함수 (0) | 2021.11.23 |