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' 카테고리의 다른 글
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 |
맥(mac os)에서 한글파일 unzip 안될 때 (0) | 2020.02.24 |
맥(mac os)에서 여러 그림 파일(jpg 등)을 pdf 파일 하나로 합치는 방법 (0) | 2019.10.24 |