Forever in Vim 🌀
티스토리 블로그의 마크다운이 완전하기 않기에 원본 깃허브 저장소가 보기 편함
Vim은 초보자는 명령어 때문에, 익숙한 사용자는 매력 때문에 빠져나가기가 어렵습니다.
Vim의 세계로 들어왔다면 이제는 무한으로 즐겨보세요!
Vim에서 탈출하는 명령어
:q- 저장 없이 종료:wq- 저장 후 종료:q!- 저장하지 않고 강제 종료
그래도 나가기 어려울 때는? 그냥 "Ctrl+C" 후 "power off"를 누릅니다. 😅
주요 Vim 명령어
Vim을 유용하게 사용할 수 있는 주요 명령어를 모았습니다.
1. 이동 명령어
| 명령어 | 설명 | 
|---|---|
h | 
왼쪽으로 한 칸 이동 | 
l | 
오른쪽으로 한 칸 이동 | 
j | 
아래로 한 줄 이동 | 
k | 
위로 한 줄 이동 | 
w | 
다음 단어로 이동 | 
e | 
단어 끝으로 이동 | 
b | 
이전 단어로 이동 | 
gg | 
파일의 맨 처음으로 이동 | 
G | 
파일의 맨 끝으로 이동 | 
Ctrl+d | 
화면의 절반 아래로 스크롤 | 
Ctrl+u | 
화면의 절반 위로 스크롤 | 
2. 텍스트 검색 및 치환
| 명령어 | 설명 | 
|---|---|
/pattern | 
pattern 문자열 검색 | 
n | 
다음 검색 결과로 이동 | 
N | 
이전 검색 결과로 이동 | 
:%s/old/new/g | 
파일 전체에서 old를 new로 치환 | 
:%s/old/new/gc | 
치환 전에 사용자 확인 | 
3. 텍스트 삽입 및 삭제
| 명령어 | 설명 | 
|---|---|
i | 
커서 앞에 텍스트 삽입 | 
a | 
커서 뒤에 텍스트 삽입 | 
o | 
현재 줄 아래에 새로운 줄 삽입 | 
dd | 
현재 줄 삭제 | 
dG | 
현재 줄부터 파일 끝까지 삭제 | 
x | 
커서 위치의 문자 삭제 | 
4. 복사, 붙여넣기, 취소
| 명령어 | 설명 | 
|---|---|
yy | 
현재 줄 복사 | 
y$ | 
현재 줄의 커서 이후만 복사 | 
p | 
복사한 내용 붙여넣기 | 
u | 
마지막 작업 취소 (undo) | 
Ctrl+r | 
취소한 작업 복구 (redo) | 
5. 파일 저장 및 종료
| 명령어 | 설명 | 
|---|---|
:w | 
파일 저장 | 
:q | 
Vim 종료 | 
:wq | 
저장 후 종료 | 
:q! | 
저장하지 않고 강제 종료 | 
:x | 
저장 후 종료 (단축 명령) | 
6. 시각 모드
| 명령어 | 설명 | 
|---|---|
v | 
시각 모드 시작 (문자 단위 선택) | 
V | 
시각 모드 시작 (줄 단위 선택) | 
Ctrl+v | 
시각 모드 시작 (블록 단위 선택) | 
y | 
선택한 영역 복사 | 
d | 
선택한 영역 삭제 | 
> | 
선택한 영역 들여쓰기 | 
< | 
선택한 영역 내어쓰기 | 
7. 창 분할 및 탐색
| 명령어 | 설명 | 
|---|---|
:split | 
수평 창 분할 | 
:vsplit | 
수직 창 분할 | 
Ctrl+w w | 
다음 창으로 이동 | 
Ctrl+w q | 
현재 창 닫기 | 
8. 여러 줄 편집
| 명령어 | 설명 | 
|---|---|
v + 선택 + : | 
시각 모드로 영역을 선택한 후 명령어 실행 (norm 명령어와 함께 사용 가능) | 
Ctrl+v + I + 텍스트 + Esc | 
블록 선택 후 여러 줄의 시작에 텍스트 삽입 | 
Ctrl+v + d | 
블록 선택 후 여러 줄의 텍스트 삭제 | 
:%norm i# | 
파일 전체의 각 줄 앞에 # 추가 | 
:%norm ^x | 
파일 전체에서 각 줄의 첫 글자 삭제 | 
예제 1: 여러 줄 주석 달기
주석을 달고 싶은 범위를 선택합니다.
- 방법 1: 
v를 눌러 문자 단위로 선택 - 방법 2: 
Ctrl+v를 눌러 블록 단위로 선택 
- 방법 1: 
 :을 입력한 뒤 아래 명령어를 실행합니다.:norm i#- 선택한 줄의 앞에 
#이 추가됩니다. 
- 선택한 줄의 앞에 
 
예제 2: 여러 줄에서 첫 글자 삭제
삭제할 줄을 시각 모드(
v또는Ctrl+v)로 선택합니다.:을 입력한 뒤 아래 명령어를 실행합니다.:norm ^x- 선택한 줄의 첫 글자가 삭제됩니다.
 
예제 3: 여러 줄 끝에 텍스트 추가
- 블록 모드(
Ctrl+v)로 여러 줄의 끝을 선택합니다. $를 눌러 커서를 줄 끝으로 이동한 뒤 원하는 텍스트를 입력합니다.Esc를 눌러 변경 사항을 적용합니다.
두 파일의 차이점(diff) 비교하기
Vim을 사용해 두 파일의 차이점을 비교하는 방법은 다음과 같습니다:
단계 1: 두 파일 열기
터미널에서 Vim을 실행하면서 두 파일을 입력합니다.
vim -d file1 file2또는 Vim 내부에서 다음 명령어를 실행합니다:
:vert diffsplit file2- 현재 열려 있는 파일과 
file2의 차이점을 비교합니다. :split을 사용하면 수평 분할로 비교할 수 있습니다.
- 현재 열려 있는 파일과 
 
단계 2: 차이점 탐색
]c: 다음 변경 사항으로 이동[c: 이전 변경 사항으로 이동
단계 3: 창 이동
Ctrl+w w: 다음 창으로 이동Ctrl+w h: 왼쪽 창으로 이동Ctrl+w l: 오른쪽 창으로 이동
단계 4: 수정 및 저장
- 차이점을 확인하면서 한쪽 파일을 수정할 수 있습니다.
 - 수정 후 저장은 일반 Vim 명령어(
:w)를 사용합니다. 
단계 5: diff 모드 종료
- 비교를 마친 후에는 일반적으로 
:q또는:qa명령어로 Vim을 종료합니다. 
.vimrc 기본 설정
아래는 제가 자주 사용하는 .vimrc 설정 파일입니다.
set shiftwidth=4      " 들여쓰기 공백 너비를 4칸으로 설정
set tabstop=4         " 탭 키의 공백 너비를 4칸으로 설정
set ignorecase        " 검색 시 대소문자 구분 없음
set hlsearch          " 검색어를 하이라이트 표시
set background=dark   " 어두운 배경에 최적화된 색상 설정
set nocompatible      " 호환 모드 비활성화 (더 현대적인 Vim 기능 활성화)
set history=1000      " 명령어 히스토리를 1000개까지 저장
set ruler             " 상태 표시줄에 커서 위치 표시
set nobackup          " 백업 파일 생성하지 않음
set title             " 현재 편집 중인 파일 이름을 창 제목에 표시
set softtabstop=4     " 소프트 탭을 4칸으로 설정 (탭키 누르면 스페이스 키 네 번 눌린 효과)
set shiftwidth=4      " 들여쓰기 시 사용할 공백 너비를 4칸으로 설정
set smartindent       " 스마트 들여쓰기 설정
set nu                " 줄 번호 표시
set expandtab         " 탭 대신 공백을 삽입
'노트정리 > 리눅스 linux' 카테고리의 다른 글
| CentOS 서버에서 Ubuntu 컨테이너로 프록시점프(ProxyJump) 연결하기 (VS Code Remote-SSH 활용) (0) | 2025.08.25 | 
|---|---|
| Windows + WSL 환경에서 Claude CLI 설치 매뉴얼 (0) | 2025.07.22 | 
| WSL2에서 접속할 때, SSH 서버 자동 시작 설정하기 (0) | 2024.12.03 | 
| WSL2에 우분투 설치하기 (Tarball 파일 사용) (0) | 2024.12.02 | 
| 쉘(bash shell)에서 귀여운 이모티콘 사용하기 (0) | 2024.08.19 | 
| ssh 터널링으로 게이트웨이틀 통해 타겟 서버에 접속하기 (0) | 2024.08.17 | 
| 리눅스에서 외장하드 사용할 때 주의할 점 (EDAC sbridge: Failed to register device with error -19 에러 대처법) (0) | 2024.01.31 | 
| 버추얼박스 (Virtual Box) 에서 게스트 디스플레이 자동 조정 활성화 (0) | 2021.02.26 | 

