TIL 014 vim

์กฐ์„ฑํ˜„ยท2021๋…„ 1์›” 23์ผ
0

์ •๊ธ€

๋ชฉ๋ก ๋ณด๊ธฐ
15/21

https://missing-semester-kr.github.io/2020/editors/
์—์„œ extend ๋“ฑ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“• vim

vim์€ ํ˜„์žฌ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ€์žฅ ์„ ํ˜ธํ•˜๋Š” editor์ด๋‹ค.
์ด์œ ๋Š” vim์€ ๋””์ž์ธ ์ฒ ํ•™ ์ž์ฒด๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ์œ„ํ•œ ํˆด์ด๊ณ , ๋งˆ์šฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ‚ค๋ณด๋“œ์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์กฐํ•ฉ์œผ๋กœ efficientํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๐Ÿ‘‰ ๋ชจ๋“œ

vim์€ modal editor๋กœ์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ชจ๋“œ๋ฅผ ํ†ตํ•ด ํšจ์œจ์„ฑ์„ ๋”ํ•œ๋‹ค.

Normal mode: '๋‹ค๋ฅธ ๋ชจ๋“œ์—์„œ esc' ํŒŒ์ผ ์ด๋™ ๋ฐ ๊ด€์ฐฐ
Insert mode : 'i' ํ…์ŠคํŠธ ์‚ฝ์ž…
Replace mode : 'r' ํ…์ŠคํŠธ ๋Œ€์ฒด
Visual mode : 'v' ํ…์ŠคํŠธ ์„ ํƒ
Visual line mode : 'shift + v' line ๋‹จ์œ„๋กœ ํ…์ŠคํŠธ ์„ ํƒ
Visual block mode : 'ctrl + v' block ๋‹จ์œ„๋กœ ํ…์ŠคํŠธ ์„ ํƒ
Command line : ':' ๋ช…๋ น์–ด ์ž…๋ ฅ

๐Ÿ‘‰ ๋ช…๋ น์–ด

:q ๋‚˜๊ฐ€๊ธฐ
:qa ์ „๋ถ€ ๋‚˜๊ฐ€๊ธฐ
:w ์ €์žฅ
:wq ์ €์žฅ ํ›„ ๋‚˜๊ฐ€๊ธฐ
:e {name of file} ํŒŒ์ผ์—ด์–ด ์ˆ˜์ •ํ•˜๊ธฐ
:ls ๋ฆฌ์ŠคํŠธ ํ‘œ๊ธฐ
:help {topic} ๋„์›€๋ง
:help :w opens help for the :w command
:help w opens help for the w movement
:tabnew ์ƒˆ ํƒญ

๐Ÿ‘‰ ์ด๋™

hjkl ๋ฐฉํ–ฅํ‚ค
w ๋‹ค์Œ๋‹จ์–ด
b ๋‹จ์–ด์˜ ์‹œ์ž‘
e ๋‹จ์–ด์˜ ๋
0 line์˜ ์‹œ์ž‘
^ ์ฒซ ๋ฒˆ์งธ non-blank chararcter
$ line์˜ ๋
H ํ™”๋ฉด์˜ top
M ํ™”๋ฉด์˜ ์ค‘๊ฐ„
L ํ™”๋ฉด์˜ ์•„๋ž˜
Ctrl-u ์Šคํฌ๋กค up
Ctrl-d ์Šคํฌ๋กค down
gg ํŒŒ์ผ์˜ ์‹œ์ž‘
G ํŒŒ์ผ์˜ ๋
{number} or {number}G n๋ฒˆ์งธ ๋ผ์ธ
% (corresponding item)
f{character}, t{character}, F{character}, T{character} ๊ธ€์ž ์ฐพ๊ธฐ(์•ž๋’ค)
/{regex}, n / N ๋‹จ์–ด์ฐพ๊ธฐ

๐Ÿ‘‰ ์ˆ˜์ •

i ์‚ฝ์ž… ๋ชจ๋“œ
o / O ์•„๋ž˜์— ๋ผ์ธ์— ์‚ฝ์ž…/ ์œ„ ์•„๋ž˜์— ์‚ฝ์ž…
d{motion} ๋‹ค์Œ ์ด๋™(๋ฐฉํ–ฅํ‚ค ๋“ฑ) ์‚ญ์ œ
c{motion} ๋‹ค์Œ ์ด๋™(๋ฐฉํ–ฅํ‚ค ๋“ฑ) ์ˆ˜์ •
x ๊ธ€์ž ์ง€์šฐ๊ธฐ = dl
s ๊ธ€์ž ๋ฐ”๊พธ๊ธฐ = xi
Visual mode + manipulation
u ์ทจ์†Œ udno
ctrl +r ๋‹ค์‹œํ•˜๊ธฐ redo
y ๋ณต์‚ฌํ•˜๊ธฐ
p ๋ถ™์—ฌ๋„ฃ๊ธฐ

๐Ÿ‘‰ ๊ธฐํƒ€ ๊ธฐ๋Šฅ

์ˆซ์ž + ๋ช…๋ น์–ด
ex) 3w move 3 words forward
ex) 7dw delete 7 words

:sp, :vsp ํ™”๋ฉด๋‚˜๋ˆ„๊ธฐ

:s ์ฐพ์•„์„œ ์ˆ˜์ •ํ•˜๊ธฐ
ex) s/foo/bar/g ->foo๋ฅผ bar๋กœ ๋ณ€ํ™˜(gloabally)

q ๋งคํฌ๋กœ ๋“ฑ๋ก (q๋กœ ์ž…๋ ฅ ์ข…๋ฃŒ)
@ ๋งคํฌ๋กœ ์‹คํ–‰

๐Ÿ‘‰ ์—ฐ์Šตํ•˜๊ธฐ

vimtutor ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด vim ์„ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.
20์‹œ๊ฐ„์ด๋ฉด ์ „์— ์‚ฌ์šฉํ•˜๋˜ ์—๋””ํ„ฐ์™€ ๊ฐ™์€ ์†๋„๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•˜๋‹ˆ, 20์‹œ๊ฐ„๋งŒ ํˆฌ์žํ•˜๋ฉด ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

์‚ฌ์ง„ ์ถœ์ฒ˜ [์ธ์‚ฌ์ดํŠธ]

profile
Jazzing๐Ÿ‘จโ€๐Ÿ’ป

0๊ฐœ์˜ ๋Œ“๊ธ€