๊ธฐ๋ณธ ๋ช ๋ น์ด
Vim์์ ํ์ถํ๋ ๋ช ๋ น์ด
:q
- ์ ์ฅ ์์ด ์ข ๋ฃ:wq
- ์ ์ฅ ํ ์ข ๋ฃ:q!
- ์ ์ฅํ์ง ์๊ณ ๊ฐ์ ์ข ๋ฃ
๊ทธ๋๋ ๋๊ฐ๊ธฐ ์ด๋ ค์ธ ๋๋? ๊ทธ๋ฅ "Ctrl+C" ํ "power off"๋ฅผ ๋๋ฆ ๋๋ค. ๐
ํ์ผ ์ ์ฅ ๋ฐ ์ข ๋ฃ
๋ช ๋ น์ด | ์ค๋ช |
---|---|
:w | ํ์ผ ์ ์ฅ |
:q | Vim ์ข ๋ฃ |
:wq | ์ ์ฅ ํ ์ข ๋ฃ |
:q! | ์ ์ฅํ์ง ์๊ณ ๊ฐ์ ์ข ๋ฃ |
:x | ์ ์ฅ ํ ์ข ๋ฃ (๋จ์ถ ๋ช ๋ น) |
์ด๋ ๋ช ๋ น์ด
๋ช ๋ น์ด | ์ค๋ช |
---|---|
h | ์ผ์ชฝ์ผ๋ก ํ ์นธ ์ด๋ |
l | ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ์ด๋ |
j | ์๋๋ก ํ ์ค ์ด๋ |
k | ์๋ก ํ ์ค ์ด๋ |
w | ๋ค์ ๋จ์ด๋ก ์ด๋ |
e | ๋จ์ด ๋์ผ๋ก ์ด๋ |
b | ์ด์ ๋จ์ด๋ก ์ด๋ |
gg | ํ์ผ์ ๋งจ ์ฒ์์ผ๋ก ์ด๋ |
G | ํ์ผ์ ๋งจ ๋์ผ๋ก ์ด๋ |
Ctrl+d | ํ๋ฉด์ ์ ๋ฐ ์๋๋ก ์คํฌ๋กค |
Ctrl+u | ํ๋ฉด์ ์ ๋ฐ ์๋ก ์คํฌ๋กค |
๊ฒ์ ๋ฐ ์นํ
๋ช ๋ น์ด | ์ค๋ช |
---|---|
/pattern | pattern ๋ฌธ์์ด ๊ฒ์ |
n | ๋ค์ ๊ฒ์ ๊ฒฐ๊ณผ๋ก ์ด๋ |
N | ์ด์ ๊ฒ์ ๊ฒฐ๊ณผ๋ก ์ด๋ |
:%s/old/new/g | ํ์ผ ์ ์ฒด์์ old๋ฅผ new๋ก ์นํ |
:%s/old/new/gc | ์นํ ์ ์ ์ฌ์ฉ์ ํ์ธ |
ํธ์ง ๋ช ๋ น์ด
๋ช ๋ น์ด | ์ค๋ช |
---|---|
i | ์ปค์ ์์ ํ ์คํธ ์ฝ์ |
a | ์ปค์ ๋ค์ ํ ์คํธ ์ฝ์ |
o | ํ์ฌ ์ค ์๋์ ์๋ก์ด ์ค ์ฝ์ |
dd | ํ์ฌ ์ค ์ญ์ |
dG | ํ์ฌ ์ค๋ถํฐ ํ์ผ ๋๊น์ง ์ญ์ |
x | ์ปค์ ์์น์ ๋ฌธ์ ์ญ์ |
์๊ฐ ๋ชจ๋
๋ช ๋ น์ด | ์ค๋ช |
---|---|
v | ์๊ฐ ๋ชจ๋ ์์ (๋ฌธ์ ๋จ์ ์ ํ) |
V | ์๊ฐ ๋ชจ๋ ์์ (์ค ๋จ์ ์ ํ) |
Ctrl+v | ์๊ฐ ๋ชจ๋ ์์ (๋ธ๋ก ๋จ์ ์ ํ) |
y | ์ ํํ ์์ญ ๋ณต์ฌ |
d | ์ ํํ ์์ญ ์ญ์ |
> | ์ ํํ ์์ญ ๋ค์ฌ์ฐ๊ธฐ |
< | ์ ํํ ์์ญ ๋ด์ด์ฐ๊ธฐ |
๋ณต์ฌ ๋ฐ ๋ถ์ฌ๋ฃ๊ธฐ
๋ช ๋ น์ด | ์ค๋ช |
---|---|
yy | ํ์ฌ ์ค ๋ณต์ฌ |
y$ | ํ์ฌ ์ค์ ์ปค์ ์ดํ๋ง ๋ณต์ฌ |
p | ๋ณต์ฌํ ๋ด์ฉ ๋ถ์ฌ๋ฃ๊ธฐ |
u | ๋ง์ง๋ง ์์ ์ทจ์ (undo) |
Ctrl+r | ์ทจ์ํ ์์ ๋ณต๊ตฌ (redo) |
์ฐฝ ๋ถํ
๋ช ๋ น์ด | ์ค๋ช |
---|---|
:split | ์ํ ์ฐฝ ๋ถํ |
:vsplit | ์์ง ์ฐฝ ๋ถํ |
Ctrl+w w | ๋ค์ ์ฐฝ์ผ๋ก ์ด๋ |
Ctrl+w q | ํ์ฌ ์ฐฝ ๋ซ๊ธฐ |
์ฌ๋ฌ ์ค ํธ์ง
๋ช ๋ น์ด | ์ค๋ช |
---|---|
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
Diff ๋น๊ต
๋ ํ์ผ์ ์ฐจ์ด์ (diff) ๋น๊ตํ๊ธฐ
๋จ๊ณ 1: ๋ ํ์ผ ์ด๊ธฐ
ํฐ๋ฏธ๋์์ Vim์ ์คํํ๋ฉด์ ๋ ํ์ผ์ ์ ๋ ฅํฉ๋๋ค:
vim -d file1 file2
๋๋ Vim ๋ด๋ถ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค:
:vert diffsplit file2
๋จ๊ณ 2: ์ฐจ์ด์ ํ์
]c
: ๋ค์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ด๋[c
: ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก ์ด๋
๋จ๊ณ 3: ์ฐฝ ์ด๋
Ctrl+w w
: ๋ค์ ์ฐฝ์ผ๋ก ์ด๋Ctrl+w h
: ์ผ์ชฝ ์ฐฝ์ผ๋ก ์ด๋Ctrl+w l
: ์ค๋ฅธ์ชฝ ์ฐฝ์ผ๋ก ์ด๋
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 " ํญ ๋์ ๊ณต๋ฐฑ์ ์ฝ์