Skip to content

Vim Cheatsheet ๐Ÿš€

์‹ค๋ฌด์—์„œ ์ •๋ง ์ž์ฃผ ์“ฐ๋Š” Vim ๋ช…๋ น์–ด๋“ค๋งŒ ๋ชจ์•˜์–ด. ์ด๊ฑฐ๋งŒ ์•Œ์•„๋„ ์ž‘์—… ์†๋„๊ฐ€ ํ™• ๋‹ฌ๋ผ์งˆ ๊ฑฐ์•ผ!

๊ธฐ๋ณธ ๋ชจ๋“œ ์ „ํ™˜

  • i - Insert mode (์ปค์„œ ์•ž์—์„œ ์ž…๋ ฅ)
  • a - Insert mode (์ปค์„œ ๋’ค์—์„œ ์ž…๋ ฅ)
  • o - ์•„๋ž˜ ์ค„์— ์ƒˆ ์ค„ ๋งŒ๋“ค๊ณ  Insert mode
  • O - ์œ„์— ์ƒˆ ์ค„ ๋งŒ๋“ค๊ณ  Insert mode
  • ESC ๋˜๋Š” Ctrl+[ - Normal mode๋กœ ๋Œ์•„๊ฐ€๊ธฐ
  • v - Visual mode (๋ฌธ์ž ๋‹จ์œ„ ์„ ํƒ)
  • V - Visual Line mode (์ค„ ๋‹จ์œ„ ์„ ํƒ)
  • Ctrl+v - Visual Block mode (๋ธ”๋ก ์„ ํƒ)
h, j, k, l # ์ขŒ, ํ•˜, ์ƒ, ์šฐ
w / W # ๋‹ค์Œ ๋‹จ์–ด ์‹œ์ž‘ (W๋Š” ๊ตฌ๋‘์  ๋ฌด์‹œ)
b / B # ์ด์ „ ๋‹จ์–ด ์‹œ์ž‘
e / E # ๋‹จ์–ด ๋์œผ๋กœ
0 # ์ค„ ๋งจ ์•ž
^ # ์ค„์˜ ์ฒซ ๋ฒˆ์งธ non-blank ๋ฌธ์ž
$ # ์ค„ ๋งจ ๋
gg # ํŒŒ์ผ ๋งจ ์œ„
G # ํŒŒ์ผ ๋งจ ์•„๋ž˜

์‚ญ์ œ & ๋ณต์‚ฌ & ๋ถ™์—ฌ๋„ฃ๊ธฐ

Section titled โ€œ์‚ญ์ œ & ๋ณต์‚ฌ & ๋ถ™์—ฌ๋„ฃ๊ธฐโ€

์‚ญ์ œ

x # ํ•œ ๊ธ€์ž ์‚ญ์ œ
dd # ํ˜„์žฌ ์ค„ ์‚ญ์ œ
D # ์ปค์„œ๋ถ€ํ„ฐ ์ค„ ๋๊นŒ์ง€ ์‚ญ์ œ
dw # ๋‹จ์–ด ์‚ญ์ œ
d$ # ์ค„ ๋๊นŒ์ง€ ์‚ญ์ œ
d0 # ์ค„ ์ฒ˜์Œ๊นŒ์ง€ ์‚ญ์ œ
dgg # ํŒŒ์ผ ์ฒ˜์Œ๊นŒ์ง€ ์‚ญ์ œ
dG # ํŒŒ์ผ ๋๊นŒ์ง€ ์‚ญ์ œ

๋ณต์‚ฌ & ๋ถ™์—ฌ๋„ฃ๊ธฐ

yy # ํ˜„์žฌ ์ค„ ๋ณต์‚ฌ
yw # ๋‹จ์–ด ๋ณต์‚ฌ
y$ # ์ค„ ๋๊นŒ์ง€ ๋ณต์‚ฌ
p # ์ปค์„œ ๋’ค์— ๋ถ™์—ฌ๋„ฃ๊ธฐ
P # ์ปค์„œ ์•ž์— ๋ถ™์—ฌ๋„ฃ๊ธฐ
"*y # ์‹œ์Šคํ…œ ํด๋ฆฝ๋ณด๋“œ๋กœ ๋ณต์‚ฌ
"*p # ์‹œ์Šคํ…œ ํด๋ฆฝ๋ณด๋“œ์—์„œ ๋ถ™์—ฌ๋„ฃ๊ธฐ
r{char} # ํ•œ ๊ธ€์ž ๊ต์ฒด
R # Replace mode (๋ฎ์–ด์“ฐ๊ธฐ ๋ชจ๋“œ)
cw # ๋‹จ์–ด ๋ณ€๊ฒฝ
C # ์ปค์„œ๋ถ€ํ„ฐ ์ค„ ๋๊นŒ์ง€ ๋ณ€๊ฒฝ
cc # ์ „์ฒด ์ค„ ๋ณ€๊ฒฝ
~ # ๋Œ€์†Œ๋ฌธ์ž ์ „ํ™˜
u # ์‹คํ–‰ ์ทจ์†Œ (Undo)
Ctrl+r # ๋‹ค์‹œ ์‹คํ–‰ (Redo)
. # ๋งˆ์ง€๋ง‰ ๋ช…๋ น ๋ฐ˜๋ณต โญ
# ์ค„ ์ด๋™
:m +1 # ํ˜„์žฌ ์ค„์„ ์•„๋ž˜๋กœ
:m -2 # ํ˜„์žฌ ์ค„์„ ์œ„๋กœ
ddp # ํ˜„์žฌ ์ค„์„ ์•„๋ž˜๋กœ (๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•)
ddkP # ํ˜„์žฌ ์ค„์„ ์œ„๋กœ (๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•)
# ์ •๋ ฌ
== # ํ˜„์žฌ ์ค„ ์ธ๋ดํŠธ ์ •๋ ฌ
gg=G # ์ „์ฒด ํŒŒ์ผ ์ธ๋ดํŠธ ์ •๋ ฌ
> # ์ธ๋ดํŠธ ์ฆ๊ฐ€
< # ์ธ๋ดํŠธ ๊ฐ์†Œ
/pattern # ์•ž์œผ๋กœ ๊ฒ€์ƒ‰
?pattern # ๋’ค๋กœ ๊ฒ€์ƒ‰
n # ๋‹ค์Œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
N # ์ด์ „ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
* # ํ˜„์žฌ ๋‹จ์–ด ๊ฒ€์ƒ‰
# # ํ˜„์žฌ ๋‹จ์–ด ์—ญ๋ฐฉํ–ฅ ๊ฒ€์ƒ‰
/\<word\> # ์ •ํ™•ํ•œ ๋‹จ์–ด๋งŒ ๊ฒ€์ƒ‰
:w # ์ €์žฅ
:wq # ์ €์žฅํ•˜๊ณ  ์ข…๋ฃŒ
:q! # ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๊ฐ•์ œ ์ข…๋ฃŒ
:e {file} # ํŒŒ์ผ ์—ด๊ธฐ
:sp {file} # ์ˆ˜ํ‰ ๋ถ„ํ• ๋กœ ํŒŒ์ผ ์—ด๊ธฐ
:vsp {file} # ์ˆ˜์ง ๋ถ„ํ• ๋กœ ํŒŒ์ผ ์—ด๊ธฐ
Ctrl+w w # ์ฐฝ ๊ฐ„ ์ด๋™
v # Visual mode ์‹œ์ž‘
V # Visual Line mode
Ctrl+v # Visual Block mode
# Visual mode์—์„œ
d # ์„ ํƒ ์˜์—ญ ์‚ญ์ œ
y # ์„ ํƒ ์˜์—ญ ๋ณต์‚ฌ
c # ์„ ํƒ ์˜์—ญ ๋ณ€๊ฒฝ
> # ์ธ๋ดํŠธ ์ฆ๊ฐ€
< # ์ธ๋ดํŠธ ๊ฐ์†Œ

์ง„์งœ ์œ ์šฉํ•œ ์กฐํ•ฉ๋“ค

  1. ci" - ๋”ฐ์˜ดํ‘œ ์•ˆ์˜ ๋‚ด์šฉ ๋ณ€๊ฒฝ
  2. da{ - ์ค‘๊ด„ํ˜ธ ๋ธ”๋ก ์ „์ฒด ์‚ญ์ œ
  3. vi( - ๊ด„ํ˜ธ ์•ˆ์˜ ๋‚ด์šฉ ์„ ํƒ
  4. dt, - ์ฝค๋งˆ ์ „๊นŒ์ง€ ์‚ญ์ œ
  5. A - ์ค„ ๋์œผ๋กœ ๊ฐ€์„œ ์ž…๋ ฅ ๋ชจ๋“œ
  6. I - ์ค„ ์ฒ˜์Œ์œผ๋กœ ๊ฐ€์„œ ์ž…๋ ฅ ๋ชจ๋“œ
  7. J - ์•„๋ž˜ ์ค„๊ณผ ํ•ฉ์น˜๊ธฐ
  8. gU - ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ (Visual mode์—์„œ)
  9. gu - ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ (Visual mode์—์„œ)
  10. Ctrl+a / Ctrl+x - ์ˆซ์ž ์ฆ๊ฐ€/๊ฐ์†Œ
" ์ค„ ๋ฒˆํ˜ธ ํ‘œ์‹œ
set number
set relativenumber
" ๊ฒ€์ƒ‰ ํ•˜์ด๋ผ์ดํŠธ
set hlsearch
set incsearch
" ํƒญ ์„ค์ •
set tabstop=4
set shiftwidth=4
set expandtab
" ์ค„ ์ด๋™ ๋‹จ์ถ•ํ‚ค
nnoremap <A-j> :m .+1<CR>==
nnoremap <A-k> :m .-2<CR>==
vnoremap <A-j> :m '>+1<CR>gv=gv
vnoremap <A-k> :m '<-2<CR>gv=gv
" ํด๋ฆฝ๋ณด๋“œ ์—ฐ๋™
set clipboard=unnamedplus

๐Ÿ“š ์ถ”๊ฐ€ ํ•™์Šต ์ž๋ฃŒ

Section titled โ€œ๐Ÿ“š ์ถ”๊ฐ€ ํ•™์Šต ์ž๋ฃŒโ€
  • vimtutor ๋ช…๋ น์–ด๋กœ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํŠœํ† ๋ฆฌ์–ผ ์‹œ์ž‘
  • Vim Adventures - ๊ฒŒ์ž„์œผ๋กœ ๋ฐฐ์šฐ๋Š” Vim
  • :help - Vim ๋‚ด์žฅ ๋„์›€๋ง (์ง„์งœ ์ž์„ธํ•จ!)