7. Vim Editer
7์ฅ Vim Editor ๊ฐ์
Vim์ ์ ๋์ค ๊ณ์ด ์์คํ ์ ํ์ค ํฐ๋ฏธ๋ ์๋ํฐ๋ก, ์๋ฒ ๋๋ ๊ฐ๋ฐ ํ๊ฒฝ(Raspberry Pi, ์๊ฒฉ ์๋ฒ)์์ ํ์์ ์ธ ๋๊ตฌ๋ค. ๋ชจ๋ ๊ธฐ๋ฐ ํธ์ง๊ณผ ํค๋ณด๋ ์กฐํฉ์ผ๋ก ๊ฐ๋ ฅํ ํ ์คํธ ํธ์ง์ ์ ๊ณตํ๋ค.
1.1 ์ปค์ ์ด๋
vim์ ๋ฐฉํฅํค ๋์ h, j, k, l์ ์ฌ์ฉ (ํ ํฌ์ง์ ์์ ์ ์ด๋ ์ต์ํ):
[ k ] โ ์๋ก
[ h ] [ j ] [ l ]
โ ์๋ โ
h: ์ผ์ชฝj: ์๋k: ์l: ์ค๋ฅธ์ชฝ
1.2 Vim์ ์์ํ๊ณ ๋๋ด๊ธฐ
:q!: ๋ฐ๋ ๋ด์ฉ ์ ์ฅํ์ง ์๊ณ ๋น ์ ธ๋์ด (๊ฐ์ ๋ช ๋ น !):q: ๋ฐ๋ ๋ด์ฉ์ด ์๋ค๋ฉด ๋น ์ ธ ๋์ฌ ์ ์์:wq: ๊ฐ์ ์ด๋ฆ์ผ๋ก ์ ์ฅ ํ ๋๊ฐ๊ธฐ:w <ํ์ผ๋ช >: ํ์ผ๋ช ์ผ๋ก ์ ์ฅ (ํ์ฌ ์์ ํ๋ ํ์ผ์ ์๋ก์ด ํ์ผ X)vim <ํ์ผ๋ช >: vim์ผ๋ก ํ์ผ ์์
1.3 ํ ์คํธ ํธ์ง
- โ ์ง์ฐ๊ธฐ
x: ์ง์์ผ ํ ๊ธ์ ์๋ก ๊ฐ์ xํค๋ฅผ ๋๋ฌ ๊ธ์๋ฅผ ์ง์ธ ์ ์์ - โก ์ฝ์
i: insert mode - โข ์ถ๊ฐ
A: ๋ฌธ์ฅ์ ๊ฐ์ฅ ๋์ผ๋ก ์ด๋ํ์ฌ ์ถ๊ฐ
2.1 ์ญ์ ๋ช ๋ น
dw: ํ ๋จ์ด๋ฅผ ๋๊น์ง ์ง์ฐ๋ ค๊ณ ํ ๋ (๊ณต๋ฐฑ๋ ํฌํจ ์ญ์ ). ์:a bc eโa ed$: ํ์ฌ ์ปค์๋ถํฐ ๋๊น์ง ์ญ์ dd: ์ค ์ ์ฒด ์ญ์
[ํ์] d ๋์ or d [ํ์] ๋์
w: ์ปค์์์ ๋จ์ด ๋ (๊ณต๋ฐฑ ํฌํจ)e: ์ปค์์์ ๋จ์ด ๋ (๊ณต๋ฐฑ ๋ฏธํฌํจ)$: ์ปค์์์ ์ค ๋
์: 2dw โ ๋ ๋จ์ด ์ญ์ (๊ณต๋ฐฑ ํฌํจ)
์ปค์ ์ด๋ ์์
2wโ This is just a line with words you can move around in. โ This is just a line with words you can move around in.3eโ3e๋งํผ ๋จ์ด ๋ ์ด๋0โ ์ค์ ์ฒ์์ผ๋ก ์ด๋
2.2 ์ทจ์ ๋ช ๋ น
u: undoCtrl+R: redoU: ์ค ์ ์ฒด์์ ์์ ํ ๋ด์ฉ ์ทจ์
3.1 ๋ถ์ด๊ธฐ ๋ช ๋ น
p: ๋ง์ง๋ง์ผ๋ก ์ง์ด ๋ด์ฉ์ ๋ถ์ (์๋ซ์ค์ ๋ณต์ฌ๋จ)
3.2 ์นํ ๋ช ๋ น
r: ๊ธ์์ ์ปค์๋ฅผ ์ฌ๋ฆฌ๊ณr์ ๋๋ฅด๊ณ ๋ฐ๊ฟ ๋จ์ด ์ ํ
3.3 ๋ณํ ๋ช ๋ น
ceorcw: ํ ๋จ์ด๋ฅผ ๋ณ๊ฒฝ (์ง์ฐ๊ณ ์์ ๋ชจ๋๋ก)- ๋จ์ด์ ์ค๊ฐ๋ถํฐ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ
[ํ์] c ๋์ or c [ํ์] ๋์

4.1 ์์น์ ํ์ผ์ ์ํ
Ctrl+G: ํ์ผ์ ํ์ฌ ์์น์ ์ํ ํ์ธG: ํ์ผ์ ๋ง์ง๋ง์ผ๋ก ์ด๋gg: ํ์ผ์ ์ฒ์์ผ๋ก ์ด๋<์ค๋ฒํธ>G: ์ค๋ฒํธ๋ก ์ด๋
4.2 ์ฐพ๊ธฐ ๋ช ๋ น
/<์ฐพ์ ๋จ์ด>: ์๋ฐฉํฅ ๊ฒ์?<์ฐพ์ ๋จ์ด>: ์ญ๋ฐฉํฅ ๊ฒ์n์ ๋๋ฌ์ ๋ค์ ๋ฌธ๊ตฌ ์ด๋ (๋ฐ๋๋N)
4.3 ๊ดํธ์ ์ง ์ฐพ๊ธฐ
(, [, {์ ์ปค์๋ฅผ ๋๊ณ %๋ฅผ ์
๋ ฅ
4.4 ์นํ ๋ช ๋ น
:s/old/new/g: ์ปค์๊ฐ ์๋ ๋ฌธ์ฅ์์ old๋ฅผ new๋ก ์นํ. ๋ฌธ์ฅ์ ๊ฐ์ ๋ฌธ๊ตฌ๋ฅผ ๋ชจ๋ ์นํ, ์๋ค๋ฉด ์ฒซ๋ฒ์งธ๋ง ์นํ:#,#s/old/new/g: #~# ๋ฒ์งธ ๋ฌธ์ฅ์์ old๋ฅผ new๋ก ์นํ:%s/old/new/g: ์ ์ฒด ๋ฌธ์ฅ์์ old๋ฅผ new๋ก ์นํ:%s/old/new/gc: ์ ์ฒด ๋ฌธ์ฅ์์ old๋ฅผ ์ฐพ๊ณ new๋ก ์นํํ ์ง ์ ํ
5.1 ์ธ๋ถ ๋ช ๋ น ์คํ
:!<๋ช ๋ น์ด>: ์ธ๋ถ ๋ช ๋ น ์คํ
5.3 ์ ํ์ ์ ์ฅ
:#, #w <ํ์ผ๋ช >: # ~ # ๋ฒ์งธ๊น์ง ํ์ผ๋ช ์ผ๋ก ์ ์ฅv: ๋ถ๋ถ ์ ํ ๋ช ๋ น์ด โ'<,'>์ด ๋ช ๋ น๋จ โ:'<, '>w <ํ์ผ๋ช >โ ์ ํํ ๋ถ๋ถ ์ ์ฅ
5.4 ํ์ผ ์ฝ์
:r <ํ์ผ๋ช >โ ์::r lsโ ls ๋ชฉ๋ก์ ๊ฐ์ ธ์์ ์ฝ์
6.1 ์ ์ค ์ด๊ธฐ ๋ช ๋ น
o: ์ปค์ ์๋์ ์๋ก์ด ์ค์ ๋ง๋ค๊ณ ํธ์ง ๋ชจ๋๊ฐ ๋จO: ์ปค์ ์์ ์๋ก์ด ์ค์ ๋ง๋ค๊ณ ํธ์ง ๋ชจ๋๊ฐ ๋จ
6.2 ์ถ๊ฐ ๋ช ๋ น
i: ์ปค์ ์์น์ ์ถ๊ฐa: ์ปค์์์ ํ ์นธ(โ) ์ด๋ํ ์์น์ ์ถ๊ฐA: ๋ฌธ์ฅ ๋์ผ๋ก ์ด๋ํด ์ถ๊ฐ$: ์ค์ ๋์ผ๋ก ์ด๋
6.3 ์นํ์ ๋ค๋ฅธ ๋ฒ์
R: ์ปค์๋ถํฐ ๊ธ์๋ฅผ ์ญ์ ํด๊ฐ๋ฉฐ ๋ณ๊ฒฝr์ ํ ๊ธ์๋ง ๋ณ๊ฒฝ
6.4 ๋ฌธ์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ
v: ๋ถ๋ถ ์ ํ ๋ช ๋ น์ด โy๋ณต์ฌ โp๋ถ์ฌ๋ฃ๊ธฐyw: ํ ๋จ์ด๋ง ๋ณต์ฌyy: ํ ์ค ๋ณต์ฌ

6.5 ์ต์ ์ค์
:set ic: ์ฐพ๊ฑฐ๋ ๋ฐ๊พธ๊ธฐ์์ ๋์๋ฌธ์ ๊ตฌ๋ถ X:set hls is: ๋ถ๋ถ ํฌํจ๋ ๊ฒ์ (incsearch), ํ์ด๋ผ์ดํธ๋จ (hlsearch):set noic,:set nohls,:set noisโ no๋ฅผ ๋ถ์ด๋ฉด ์ต์ ์ ๊ฑฐ:set nu: ๋ผ์ธ ๋ฒํธ ํ์
7.1 ์จ๋ผ์ธ ๋์๋ง ๋ช ๋ น
:help:help <๋ช ๋ น์ด>
7.2 ์์ ์คํฌ๋ฆฝํธ ๋ง๋ค๊ธฐ
:e ~/.vimrcโ ์คํฌ๋ฆฝํธ ์์ฑ ํ ์ ์ฅ (edit โ ํ์ผ ์์ , ์๋ค๋ฉด ํ์ผ์ ๋ง๋ฆ)
7.3 ๋ช ๋ น์ด ์์ฑํ๊ธฐ
:์ด๋ค ๋จ์ด + Ctrl+DorTAB: ์ด๋ค ๋จ์ด๋ก ์์ํ๋ ๋จ์ด๋ฅผ ์ ํํ ์ ์์

์ ๋ฆฌ
| ๋จ๊ณ | ํต์ฌ ๋ช ๋ น |
|---|---|
| ์ด๋ | h/j/k/l, gg, G, |
| ํธ์ง ๋ชจ๋ | i, a, A, o, O |
| ์ญ์ | x, dw, d$, dd |
| ์ทจ์ | u, Ctrl+R, U |
| ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ | yy, yw, p |
| ์ฐพ๊ธฐ | /<๋จ์ด>, ?<๋จ์ด>, n, N |
| ์นํ | :s/old/new/g, :%s/old/new/gc |
| ์ ์ฅ/์ข ๋ฃ | :w, :q, :wq, :q! |
| vimrc | :e ~/.vimrc |
Vim์ ๊ฐ์ ์ ์์ด ํ ํฌ์ง์ ์์ ๋ฒ์ด๋์ง ์๊ณ ๋ชจ๋ ํธ์ง์ ์ํํ ์ ์๋ค๋ ์ . ์๋ฒ ๋๋ ์์คํ ์์ GUI ์๋ ํ๊ฒฝ์ ํ์.
Comments (0)
No comments yet. Be the first to comment!
Please to write a comment.