Contents
see ListVim 에디터 기초와 생산성 향상
Vim은 터미널 기반의 강력한 텍스트 에디터입니다. 서버 작업이나 빠른 편집에 필수적이며, 모드 기반 편집으로 키보드만으로 모든 작업이 가능합니다.
언제 사용하나요?
- SSH로 서버 접속 시 파일 편집
- Git 커밋 메시지 작성
- 빠른 설정 파일 수정
- 마우스 없이 효율적인 코딩
Vim 모드 이해
Normal Mode (기본) - 명령 실행, 이동
Insert Mode (i) - 텍스트 입력
Visual Mode (v) - 텍스트 선택
Command Mode (:) - 저장, 종료 등
# 모드 전환
i Insert 모드 진입
Esc Normal 모드로 복귀
v Visual 모드 (문자 단위)
V Visual Line 모드 (줄 단위)
: Command 모드 진입기본 이동
# 커서 이동
h 왼쪽 j 아래 k 위 l 오른쪽
# 단어 단위 이동
w 다음 단어 시작
b 이전 단어 시작
e 단어 끝으로
# 줄 내 이동
0 줄 맨 앞
$ 줄 맨 끝
^ 첫 문자로
# 화면 이동
gg 파일 맨 위
G 파일 맨 아래
:n n번 줄로 이동
Ctrl+d 반 페이지 아래
Ctrl+u 반 페이지 위편집 명령
# 삽입
i 커서 앞에 삽입
a 커서 뒤에 삽입
I 줄 맨 앞에 삽입
A 줄 맨 뒤에 삽입
o 아래 새 줄
O 위에 새 줄
# 삭제
x 한 문자 삭제
dd 한 줄 삭제
dw 단어 삭제
d$ 커서부터 줄 끝까지
D d$와 동일
# 복사/붙여넣기
yy 한 줄 복사 (yank)
yw 단어 복사
p 커서 뒤에 붙여넣기
P 커서 앞에 붙여넣기
# 변경
cw 단어 변경 (삭제 + 삽입)
cc 줄 전체 변경
c$ 커서부터 줄 끝 변경
# 실행 취소/재실행
u 실행 취소
Ctrl+r 재실행검색과 치환
# 검색
/pattern 앞으로 검색
?pattern 뒤로 검색
n 다음 결과
N 이전 결과
* 커서 위 단어 검색
# 치환
:s/old/new/ 현재 줄 첫 번째만
:s/old/new/g 현재 줄 전체
:%s/old/new/g 파일 전체
:%s/old/new/gc 확인하며 치환Visual 모드
v 문자 단위 선택
V 줄 단위 선택
Ctrl+v 블록 선택 (열 편집)
# 선택 후
d 삭제
y 복사
c 변경
> 들여쓰기
< 내어쓰기저장과 종료
:w 저장
:q 종료
:wq 저장 후 종료
:q! 저장 안하고 종료
:x 변경시만 저장 후 종료
ZZ :x와 동일
:w filename 다른 이름으로 저장
:e filename 다른 파일 열기유용한 명령
# 줄 번호
:set number 줄 번호 표시
:set nonumber 줄 번호 숨기기
# 문법 강조
:syntax on
# 들여쓰기
:set tabstop=4
:set expandtab
:set shiftwidth=4
# 검색 하이라이트
:set hlsearch
:nohlsearch 하이라이트 제거
# 분할 창
:split 수평 분할
:vsplit 수직 분할
Ctrl+w w 창 전환
Ctrl+w q 창 닫기.vimrc 설정 예시
" ~/.vimrc
set number " 줄 번호
set relativenumber " 상대적 줄 번호
syntax on " 문법 강조
set tabstop=4 " 탭 = 4칸
set shiftwidth=4 " 들여쓰기 = 4칸
set expandtab " 탭을 스페이스로
set autoindent " 자동 들여쓰기
set hlsearch " 검색 하이라이트
set incsearch " 점진적 검색
set ignorecase " 대소문자 무시
set smartcase " 대문자 있으면 구분
set mouse=a " 마우스 사용
set clipboard=unnamedplus " 시스템 클립보드자주 쓰는 조합
ciw 단어 변경
ci" 따옴표 안 변경
di( 괄호 안 삭제
yiw 단어 복사
dd 줄 삭제
5dd 5줄 삭제
. 마지막 명령 반복
gg=G 전체 들여쓰기 정리Vim vs Nano
| 항목 | Vim | Nano |
|---|---|---|
| 학습곡선 | 가파름 | 완만 |
| 기능 | 강력 | 기본 |
| 속도 | 빠름 | 보통 |
| 커스터마이징 | 무한 | 제한적 |