์ข์์ ๐
์ด์ ์ ๋ง ์ค์ํ ๊ฑธ ๋ฐฐ์ฐ๋ ค ํ๋ค์!
vi (๋๋ vim) ์ ๋ฆฌ๋
์ค์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ๊ฐ๋ ฅํ ํ
์คํธ ํธ์ง๊ธฐ์์.
์ฒ์์ ์กฐ๊ธ ํท๊ฐ๋ฆฌ์ง๋ง, ๊ธ๋ฐฉ ์ต์ํด์ง๋๋ค ๐
๐ฉ 1๏ธโฃ vi ์คํํ๊ธฐ
ํฐ๋ฏธ๋์์ ๋ค์์ฒ๋ผ ์ ๋ ฅํ์ธ์ ๐
vi ํ์ผ์ด๋ฆ.c
์์:
vi 7-2.c
โก๏ธ ํ์ผ์ด ์์ผ๋ฉด ์๋ก ๋ง๋ค๊ณ ,
์์ผ๋ฉด ๊ทธ ํ์ผ์ ์ฝ๋๋ค.
๐ฆ 2๏ธโฃ vi์ 3๊ฐ์ง ๊ธฐ๋ณธ ๋ชจ๋
๋ชจ๋์ค๋ช
์ง์
๋ฐฉ๋ฒ
| ๋ช ๋ น ๋ชจ๋ (Command Mode) | vi ์คํํ๋ฉด ๊ธฐ๋ณธ ์ํ | Esc |
| ์ ๋ ฅ ๋ชจ๋ (Insert Mode) | ๊ธ์๋ฅผ ์ ๋ ฅํ๋ ๋ชจ๋ | i, a, o |
| ๋ช ๋ นํ ๋ชจ๋ (Ex Mode) | ์ ์ฅ, ์ข ๋ฃ, ๊ฒ์ ๋ฑ | : |
๐จ 3๏ธโฃ ๊ธ์ ์ ๋ ฅํ๊ธฐ
- vi ์คํ → ๊ธฐ๋ณธ์ ๋ช ๋ น ๋ชจ๋
- i (insert) ๋๋ฅด๋ฉด ์ ๋ ฅ ๋ชจ๋ ์ง์
- ๊ธ์ ์ ๋ ฅ ๊ฐ๋ฅ!
์์ ๐
#include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; }
- ์ ๋ ฅ ๋ค ํ์ผ๋ฉด Esc ํค๋ก ๋ช ๋ น ๋ชจ๋๋ก ๋์์ค๊ธฐ
๐ง 4๏ธโฃ ์ ์ฅํ๊ณ ๋๊ฐ๊ธฐ
๋ช
๋ น์ค๋ช
| :w | ์ ์ฅ๋ง ํ๊ธฐ (write) |
| :q | ์ข ๋ฃ (quit) |
| :wq ๋๋ :x | ์ ์ฅ ํ ์ข ๋ฃ |
| :q! | ์ ์ฅํ์ง ์๊ณ ๊ฐ์ ์ข ๋ฃ |
๐ก ์์:
- Esc ๋๋ฅด๊ณ
- :wq ์ ๋ ฅ ํ Enter
๐ฅ 5๏ธโฃ ๊ธฐ๋ณธ ํธ์ง ๋ช ๋ น์ด (๋ช ๋ น ๋ชจ๋์์)
๋ช
๋ น์ค๋ช
| dd | ํ์ฌ ์ค ์ญ์ (Delete line) |
| yy | ํ์ฌ ์ค ๋ณต์ฌ (Yank line) |
| p | ๋ถ์ฌ๋ฃ๊ธฐ (Paste) |
| u | ์คํ ์ทจ์ (Undo) |
| Ctrl + r | ๋ค์ ์คํ (Redo) |
| /๋จ์ด | ๋จ์ด ๊ฒ์ |
| n | ๋ค์ ๊ฒ์ ๊ฒฐ๊ณผ๋ก ์ด๋ |
| G | ํ์ผ ๋์ผ๋ก ์ด๋ |
| gg | ํ์ผ ๋งจ ์๋ก ์ด๋ |
๐ง 6๏ธโฃ ์ค ์ถ๊ฐ / ์ญ์
๋์๋ช
๋ น
| ํ์ฌ ์ค ์๋ ์ ์ค ์ถ๊ฐ | o |
| ํ์ฌ ์ค ์์ ์ ์ค ์ถ๊ฐ | O |
| ํ์ฌ ์ค ์ญ์ | dd |
โ 7๏ธโฃ ์์ ํ๋ฆ
1๏ธโฃ ํ์ผ ๋ง๋ค๊ธฐ
vi 7-2.c
2๏ธโฃ ์
๋ ฅ ๋ชจ๋ ์ง์
→ i ๋๋ฅด๊ณ ์ฝ๋ ์
๋ ฅ
3๏ธโฃ ์ ์ฅํ๊ณ ๋๊ฐ๊ธฐ
→ Esc, :wq, Enter
4๏ธโฃ ์ปดํ์ผ
gcc 7-2.c -o 7-2
5๏ธโฃ ์คํ
./7-2
๐ก Tip:
vi๋ฅผ ์ฐ์ตํด๋ณด๊ณ ์ถ์ผ๋ฉด ์ด๋ฐ ๋ช ๋ น๋ ์์ด์ ๐
vimtutor
→ vim ๊ธฐ์ด ํํ ๋ฆฌ์ผ์ด ํ๊ธ/์๋ฌธ์ผ๋ก ๋์ต๋๋ค (์์ฃผ ์ข์์!)
'6. CS ๊ธฐ์ด ๐ > Linux & Unix ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Linux/Unix] vi Editor (0) | 2025.10.20 |
|---|---|
| [Linux/Unix] ๋ฆฌ๋ ์ค/์ ๋์ค ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ์ดํด (0) | 2025.10.20 |
| [Linux/Unix] vi ํธ์ง๊ธฐ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ (0) | 2025.10.17 |
| [Linux/Unix] Ubuntu ํ๊ธ ์ ๋ ฅ ์ค์ (0) | 2025.10.17 |
| [Linux/Unix] ๊ณต์ ํด๋(Shared Folder) ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ (0) | 2025.10.17 |