이 글은 Neovim 시리즈의 첫 번째 글이다.
- Neovim 입문: Vim을 넘어서는 첫걸음 ← 현재 글
- Neovim 중급: 생산성을 높이는 기능들
- Neovim 고급: 플러그인과 LSP로 IDE처럼 쓰기
- 나의 Neovim 설정 전체 공개
Neovim이란?
Neovim은 Vim의 모던 포크(fork)다. Vim의 철학(모달 편집, 키보드 중심)을 유지하면서 내부를 현대적으로 재구성했다.
Vim과 뭐가 다른가?
| Vim | Neovim | |
|---|---|---|
| 설정 언어 | VimScript | Lua (VimScript도 지원) |
| 비동기 처리 | 제한적 | 내장 |
| 내장 LSP | 없음 | 있음 |
| 내장 터미널 | 기본적 | 완전한 터미널 에뮬레이터 |
| 플러그인 생태계 | 성숙 | 빠르게 성장 중 |
| 설정 파일 | ~/.vimrc | ~/.config/nvim/init.lua |
한 줄로 요약하면: Vim의 편집 철학 + 현대적인 확장성이다.
설치
macOS
brew install neovim
Rocky Linux / CentOS
# EPEL에서 설치
dnf install -y epel-release
dnf install -y neovim
Ubuntu / Debian
apt install -y neovim
설치 확인:
nvim --version
4가지 모드
Neovim(Vim)이 다른 에디터와 근본적으로 다른 점은 모드가 있다는 것이다.
Normal 모드
Neovim을 열면 이 모드다. 글을 쓰는 게 아니라 글을 조작하는 모드다.
- 커서 이동, 삭제, 복사, 붙여넣기 등
- 다른 모드에서
Esc를 누르면 항상 Normal로 돌아온다
Insert 모드
실제로 글을 타이핑하는 모드다.
| 키 | 동작 |
|---|---|
i | 커서 앞에 입력 |
a | 커서 뒤에 입력 |
I | 줄 맨 앞에 입력 |
A | 줄 맨 뒤에 입력 |
o | 아래에 새 줄 만들고 입력 |
O | 위에 새 줄 만들고 입력 |
Visual 모드
텍스트를 선택하는 모드다.
| 키 | 동작 |
|---|---|
v | 문자 단위 선택 |
V | 줄 단위 선택 |
Ctrl-v | 블록(사각형) 선택 |
Command 모드
:를 누르면 하단에 명령줄이 나타난다.
:w 저장
:q 종료
:wq 저장 후 종료
:q! 저장하지 않고 종료
커서 이동
Normal 모드에서의 이동이 Vim의 핵심이다. 처음에는 어색하지만 손에 익으면 마우스보다 빠르다.
기본 이동
k
h l
j
| 키 | 방향 |
|---|---|
h | ← 왼쪽 |
j | ↓ 아래 |
k | ↑ 위 |
l | → 오른쪽 |
팁:
j의 아래쪽 꼬리를 생각하면 기억하기 쉽다.
단어 단위 이동
| 키 | 동작 |
|---|---|
w | 다음 단어 시작 |
b | 이전 단어 시작 |
e | 단어 끝 |
줄 이동
| 키 | 동작 |
|---|---|
0 | 줄 맨 앞 |
$ | 줄 맨 끝 |
^ | 줄의 첫 글자 (공백 제외) |
화면/파일 이동
| 키 | 동작 |
|---|---|
gg | 파일 맨 위 |
G | 파일 맨 아래 |
Ctrl-d | 반 페이지 아래 |
Ctrl-u | 반 페이지 위 |
{숫자}G | 해당 줄로 이동 (예: 42G) |
기본 편집
삭제
| 키 | 동작 |
|---|---|
x | 커서 위 문자 삭제 |
dd | 줄 삭제 |
dw | 단어 삭제 |
d$ 또는 D | 커서부터 줄 끝까지 삭제 |
복사 & 붙여넣기
| 키 | 동작 |
|---|---|
yy | 줄 복사 (yank) |
yw | 단어 복사 |
p | 커서 뒤에 붙여넣기 |
P | 커서 앞에 붙여넣기 |
실행 취소 & 다시 실행
| 키 | 동작 |
|---|---|
u | 실행 취소 (Undo) |
Ctrl-r | 다시 실행 (Redo) |
검색과 치환
검색
/검색어 아래 방향으로 검색
?검색어 위 방향으로 검색
n 다음 결과
N 이전 결과
치환
:s/old/new/ 현재 줄에서 첫 번째만
:s/old/new/g 현재 줄에서 모두
:%s/old/new/g 파일 전체에서 모두
:%s/old/new/gc 파일 전체, 하나씩 확인하며
파일 열기
# 터미널에서
nvim filename.txt
# Neovim 안에서
:e filename.txt
:e . 현재 디렉토리 탐색
숫자 + 명령 조합
Vim의 강력한 문법: 숫자 + 동작으로 반복할 수 있다.
5j 5줄 아래로
3dd 3줄 삭제
4w 4단어 앞으로
10G 10번째 줄로
2yy 2줄 복사
vimtutor로 연습하기
Neovim에는 대화형 튜토리얼이 내장되어 있다:
nvim +Tutor
30분 정도 따라하면 기본 조작이 손에 익는다. 처음 Neovim을 설치했다면 반드시 한 번은 해보자.
다음 글
기본 조작이 익숙해졌다면, 텍스트 오브젝트, 매크로, 레지스터 등 생산성을 끌어올리는 기능을 알아보자.