Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- MySQL
- CKA
- Spring
- APM
- go
- Pinpoint
- AWS EKS
- kotlin coroutine
- CloudWatch
- tucker의 go 언어 프로그래밍
- 정보처리기사 실기 기출문제
- golang
- Linux
- minikube
- PETERICA
- 컨텍스트 엔지니어링
- Kubernetes
- 코틀린 코루틴의 정석
- 바이브코딩
- 기록으로 실력을 쌓자
- CKA 기출문제
- aws
- kotlin querydsl
- kotlin
- Java
- SRE
- 오블완
- 티스토리챌린지
- AI
- 공부
Archives
- Today
- Total
피터의 개발이야기
VIM 명령어 정리 본문
반응형

ㅁ 개요
ㅇ VIM 사용법을 잘 정리해 놓은 정보가 있어서 모셔왔습니다.
ㅇ 퍼온 곳 : gyuha.tistory.com/452
1. 저장 및 종료
| 명령어 | 설명 |
| :w | 저장 |
| :w file.txt | file.txt 파일로 저장 |
| :w » file.txt | file.tx파일에 덧붙여서 저장 |
| :q | vi 종료 |
| :q! | vi 강제 종료 |
| ZZ | 저장 후 종료 |
| :wq! | 강제 저장 후 종료 |
| :e file.txt | file.txt파일을 불러옴 |
| :e | 현재 파일을 불러옴 |
| :e# | 바로 이전에 열었던 파일을 불러 옴 |
2. 입력모드 전환
| 명령어 | 설명 |
| a | 커서 위치 다음칸부터 입력 |
| A | 커서 행의 맨 마지막부터 입력 |
| i | 커서의 위치에 입력 |
| I | 커서 행의 맨 앞에서 부터 입력 |
| o | 커서의 다음행에 입력 |
| O | 커서의 이전 행에 입력 |
| s | 커서 위치의 한글자를 지우고 입력 |
| cc | 커서위치의 한 행을 지우고 입력 |
3. 이동
| 명령어 | 설명 |
| h | 왼쪽으로 이동 |
| l | 오른쪽으로 이동 |
| j | 아래행으로 이동 |
| k | 위 행으로 이동 |
| w 또는 W | 다음 단어의 첫 글자로 이동 |
| b 또는 B | 이전 단어의 첫 글자로 이동 |
| e 또는 E | 단어의 마지막 글자로 이동 |
| <CR> | 다음행 첫 첫 글자로 이동 |
| ^ | 그행의 첫 글자로 이동 |
| $ | 그 행의 마지막 글자로 이동 |
| + | 다음 행의 첫 글자로 이동 |
| - | 위 행의 첫 글자로 이동 |
| ( | 이전 문장의 첫 글자로 이동 |
| ) | 다음 문장의 첫 글자로 이동 |
| { | 이전 문단으로 이동 |
| } | 다음 문단으로 이동 |
| H | 커서를 화면 맨 위로 이동 |
| z<CR> | 현재 행을 화면의 맨우로 이동 |
| M | 커서를 화면 중안으로 이동 |
| z. | 현재 행을 화면의 중앙으로 이동 |
| L | 커서를 화면 최하단으로 이동 |
| z- | 현재 행의 화면의 최하단으로 이동 |
| [n]H | 커서를 위에서 n행으로 이동 |
| [n]L | 커서를 아래에서 n행으로 이동 |
| ctrl+u | 반 화면 위로 스크롤 |
| ctrl+d | 반 화면 아래로 스크롤 |
| ctrl+b | 한 화면 위로 스크롤 |
| ctrl+f | 한 화면 아래 스크롤 |
| gg 또는 1G | 문서의 맨 처음으로 이동 |
| G | 문서의 맨 마지막 행으로 이동 |
| [n]G 또는 :[n] | n행으로 이동 |
4. 삭제
| 명령어 | 설명 |
| x 또는 dl | 커서 위치의 글자 삭제 |
| X 또는 dh | 커서 바로 앞의 글자 삭제 |
| dw | 현재 위치부터 스페이스 까지 삭제 |
| diw | 현재 위치에 있는 단어 삭제 |
| dd | 커서가 있는 행을 삭제 |
| [n]dd | 현재 커서 부터 아래 n번째 줄까지 삭제 |
| dj | 현재 커서와 아래 줄 삭제 |
| [n]dj | 현재 커서 부터 아래 n+1번째 줄까지 삭제 |
| dk | 현재 커서와 윗로 n+1번째 줄까지 삭제 |
| [n]dk | 현재 커서와 윗 줄 삭제 |
| D 또는 d$ | 현재 커서가 있는 위치부터 행 끝까지 삭제 |
| d0 또는 d^ | 현재 커서가 있는 위치부터 행 시작 까지 삭제 |
5. 복사 & 붙여넣기
| 명령어 | 설명 |
| yy 또는 Y | 커서가 있는 한 행 복사 |
| p | 현재 커서에 붙여 넣기. |
| P | 현재 커서위치의 앞행에 붙여 넣기. |
| [n]yy 또는 [n]Y | 커서가 위치한 이후로 n행 복사 |
| [n]p | n번 만큼 붙여넣기 반복 |
6. 블록 지정
| 명령어 | 설명 |
| v | 블록 지정 |
| V | 줄단위 블록 지정 |
| ctrl+v | 비쥬얼 블록 지정(WIN:ctrl+q) |
6.1. 블록 지정 중 명령
| 명령어 | 설명 |
| y | 블록 복사 하기 |
| r | 치환 |
| d | 지정 블록 지우기 |
| U | 대문자로 바꾸기 |
| u | 소문자로 바꾸기 |
| ~ | 대소문자 전환 |
| J | 행 합침 |
| : | 선택 영역에 대하여 ex명령 |
| < | 행 앞에 탭 제거 |
| > | 행 앞에 탭 삽입 |
7. 문자열 탐색 및 치환
| 명령어 | 설명 |
| /[문자열] | 문자열 탐색 |
| :s/old/new | 현재 행의 처음 old를 new로 교체 |
| :s/old/new/g | 현재 행의 모든 old를 new로 교체 |
| :10,20s/old/new/g | 10행부터 20행까지 모든 old를 new로 교체 |
| :s/old/new/g | 지정 블록 내에서 모든 old를 new로 교체 |
| :-3,+4s/old/new/g | 현재 커서에서 위로 3행 아래로 4행까지 old를 new로 교체. |
| :%s/old/new/g | 문서 전체에서 old를 new로 교체 |
| :%s/old/new/gc | 문서 전체에서 old를 new로 확인하며 교체 |
| :g/pattern/s/old/new/g | pattern이 있는 모든 행의 old를 new로 교체 |
8. vim 정규 표현식
| 명령어 | 설명 |
| ^ | 행의 첫 문자([]안에서는 not의 의미) |
| $ | 행의 끝 |
| . | 아무 문자나 한 문자 의미 |
| \| | or의 의미 |
| [ ] | []사이의 문자 중 하나 |
| \{min,max\} | min이상 max이하 반복됨 |
| * | 앞의 내용이 0번 이상 반복됨 |
| \+ | 앞의 내용이 1번 이상 반복됨 |
| \< | 단어의 시작 |
| \> | 단어의 끝 |
| \n | 새 행 문자 |
| \t | 탭 문자 |
9. 파일 버퍼
| 명령어 | 설명 |
| :files 또는 :ls | 버퍼 목록 나열 (또는 :buffers) |
| :b[n] | n번 버퍼로 이동 |
| :bd[n] 또는 :bw[n] | n번 버퍼를 삭제 (n이 없으면 현재의 버퍼를 삭제) |
| :bp[n] | 이전 버퍼로 이동, n번만큼 이전 버퍼로 이동 |
| :bn[n] | 이후 버퍼로 이동, n번만큼 이후 버퍼로 이동 |
| :sb[n] | 창을 수평분할 하여 n번 버퍼를 로드 |
| :bf | 첫 번째 버퍼로 이동 |
| :bl | 마지막 버퍼로 이동 |
10. Tab
| 명령어 | 설명 |
| :tabnew | 새로운 탭을 열기 |
| :tabnew b.txt | b.txt가 존재하면 열고, 없으면 새로 만들어서 연다 |
| :tabf b.txt | b.txt가 존재하면 열고, 없으면 에러 발생 |
| :tabn[n] | 다음 탭을 열기,n을 붙이면 n번 만큼 이동 |
| :tabp[n] | 이전 탭을 열기,n을 붙이면 n번 만큼 이동 |
| :tabs | 탭 목록 보기 |
| :tabclose | 탭을 닫기 |
| :tabfirst | 첫번째 탭을 열기 |
| :tablast | 마지만 탭을 열기 |
| :tabdo %s/old/new/g | 모든 탭에 적용을 원할 때 |
11. 마킹 및 마킹위치로 이동
| 명령어 | 설명 |
| m[a-z0-9] | 파일내에서 마킹, 현재 버퍼내에서만 이동 함 예)ma |
| m[A-Z] | 전체영역에서 마킹, 다른 파일로도 이동 함. |
| `[A-Za-z0-9] | 마킹된 위치로 돌아감 예)`a |
| ’[A-Za-z0-9] | 마킹된 행의 처으으로 이동함. 예)‘a |
| ” | 직전에 커서가 위치하던 행의 처음 |
| `` | 직전의 커서 위치로 이동 |
| ’” | 현재 파일을 닫았을 때 커서가 있던 행처음으로 이동 |
| `" | 현재 파일을 닫았을 때 커서가 있던 위치로 이동 |
12. 창
| 명령어 | 설명 |
| CTRL-W s | 현재 파일을 두 개의 수평 창으로 나눔 |
| CTRL-W v | 현재 파일을 두 개의 수직 창으로 나눔 |
| CTRL-W n | 새로운 수평 창 생성 |
| CTRL-W q | 현재 커서의 창을 종료 |
| CTRL-W c | 현재 커서의 창 닫기 |
| CTRL-W o | 현재 커서의 창만 남기고 모든 창 삭제 |
| CTRL-W h | 왼쪽 창으로 커서 이동 |
| CTRL-W j | 아래쪽 창으로 커서 이동 |
| CTRL-W k | 위쪽 창으로 커서 이동 |
| CTRL-W l | 오른쪽 창으로 커서 이동 |
| CTRL-W w | 창을 순차적으로 이동 |

반응형
'DevTool' 카테고리의 다른 글
| [WireShark] WireShark를 통한 패킷 헤더 확인 (0) | 2022.10.09 |
|---|---|
| 빅서OS 맥북에서 안드로이드 USB 테터링 사용하기 (0) | 2021.12.17 |
| SquidMan을 이용한 프록시 앱테스트 환경 만들기 (1) | 2021.01.23 |
| [iTerm2] 화면분할 단축키 (0) | 2020.12.19 |
| IDE란 무엇인가? (0) | 2020.12.18 |
Comments
