VI νŽΈμ§‘κΈ° κΈ°λ³Έ μ‚¬μš©λ²•κ³Ό ν™œμš© 팁

2024. 11. 8. 07:34Β· π™Έπšƒ
λͺ©μ°¨
  1. VI νŽΈμ§‘κΈ°λž€?
  2. 1. κΈ°λ³Έ κ°œλ… 읡히기
  3. 2. ν…μŠ€νŠΈ νŽΈμ§‘ κΈ°λ³Έ λͺ…λ Ήμ–΄
  4. 3. κ³ κΈ‰ νŽΈμ§‘ λͺ…λ Ήμ–΄
  5. 4. 파일 관리 및 닀쀑 파일 μž‘μ—…
λ°˜μ‘ν˜•

VI νŽΈμ§‘κΈ°λž€?

viλŠ” UNIX와 Linuxμ—μ„œ 널리 μ‚¬μš©λ˜λŠ” ν…μŠ€νŠΈ νŽΈμ§‘κΈ°λ‘œ, κ°•λ ₯ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬ κ°œλ°œμžμ™€ μ‹œμŠ€ν…œ κ΄€λ¦¬μžμ—κ²Œ 인기가 λ§Žλ‹€.

μ΄ˆλ³΄μžμ—κ²ŒλŠ” λ‹€μ†Œ λΆˆνŽΈν•  수 μžˆμ§€λ§Œ, ν•«ν‚€λ₯Ό 읡히면 λΉ λ₯΄κ³  효율적인 ν…μŠ€νŠΈ νŽΈμ§‘μ΄ κ°€λŠ₯ν•˜λ‹€.

아직 vi νŽΈμ§‘κΈ°κ°€ μ΅μˆ™ν•˜μ§€ μ•Šμ•„μ„œ ν˜„μž¬λŠ” nano둜 μ“°κ³  μžˆλŠ”λ° vi도 μ΅μˆ™ν•΄μ§€λ©΄ λ‚˜μ€‘μ— 더 νŽΈν•˜κ²Œ μ“Έ 수 μžˆμ„ 것 κ°™μ•„μ„œ μ—°μŠ΅ν•΄λ³΄λ €κ³  ν•œλ‹€.

 

 

 

1. κΈ°λ³Έ κ°œλ… 읡히기

viλ₯Ό 처음 μ‚¬μš©ν•œλ‹€λ©΄, 기본적인 ν…μŠ€νŠΈ μž…λ ₯κ³Ό μ»€μ„œ 이동을 μ΅νžˆλŠ” 것이 μ€‘μš”ν•˜λ‹€.

이λ₯Ό 톡해 vi의 기본적인 μž‘μ—… 흐름에 μ΅μˆ™ν•΄μ§ˆ 수 μžˆλ‹€.

 

This is a simple text file for practicing vi editor.
You can edit and modify this text using vi commands.
Try moving the cursor and editing the text.

 

  • vi practice.txt λͺ…λ Ήμ–΄λ‘œ viλ₯Ό μ—΄κ³  ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•œλ‹€.

 

 

 

  • ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•œ ν›„, Esc ν‚€λ₯Ό 눌러 λͺ…λ Ήμ–΄ λͺ¨λ“œλ‘œ λŒμ•„κ°„λ‹€ 

Escν‚€λ₯Ό λˆ„λ₯΄λ©΄ μ™Όμͺ½ ν•˜λ‹¨μ— μ»€μ„œκ°€ μ΄λ™ν•œλ‹€. 

 

  • μ €μž₯ ν›„ μ’…λ£Œν•˜λ €λ©΄ :wqλ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

 

- w: write의 μ•½μžλ‘œ, νŒŒμΌμ„ μ €μž₯(μ“°κΈ°)ν•œλ‹€

- q: quit의 μ•½μžλ‘œ, vim을 μ’…λ£Œ(λ‹«κΈ°)ν•œλ‹€

 

 

 

 

 

2. ν…μŠ€νŠΈ νŽΈμ§‘ κΈ°λ³Έ λͺ…λ Ήμ–΄

viμ—μ„œ ν…μŠ€νŠΈλ₯Ό μˆ˜μ •ν•˜λŠ” 기본적인 방법을 μ΅νžˆλŠ” 것도 μ€‘μš”ν•˜λ‹€.

μ»€μ„œ 이동과 ν…μŠ€νŠΈ μˆ˜μ •μ€ viμ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” κΈ°λŠ₯이닀.

(이 μ»€μ„œ 이동은 INSERTλͺ¨λ“œκ°€ μƒνƒœμ—μ„œ ν•˜λŠ” 것이 μ•„λ‹ˆλ‹€)

 

  • μ»€μ„œ 이동:
    • h, j, k, l둜 μ™Όμͺ½, μ•„λž˜, μœ„, 였λ₯Έμͺ½μœΌλ‘œ μ΄λ™ν•œλ‹€.
    • w둜 단어 λ‹¨μœ„λ‘œ μ΄λ™ν•˜κ³ , b둜 이전 λ‹¨μ–΄λ‘œ μ΄λ™ν•œλ‹€.
    • 0κ³Ό $둜 각각 ν˜„μž¬ μ€„μ˜ 처음과 끝으둜 μ΄λ™ν•œλ‹€.
  • ν…μŠ€νŠΈ μˆ˜μ •:
    • x둜 μ»€μ„œ μœ„μΉ˜μ˜ 문자λ₯Ό μ‚­μ œν•œλ‹€.
    • dd둜 ν˜„μž¬ 쀄을 μ‚­μ œν•˜κ³ , yy둜 쀄을 λ³΅μ‚¬ν•œ ν›„ p둜 λΆ™μ—¬λ„£λŠ”λ‹€.

 

 

 

 

 

 

3. κ³ κΈ‰ νŽΈμ§‘ λͺ…λ Ήμ–΄

vi의 κ³ κΈ‰ κΈ°λŠ₯을 읡히면, 더 λΉ λ₯΄κ³  μ •ν™•ν•œ νŽΈμ§‘μ΄ κ°€λŠ₯νžˆλ‹€.

특히 검색과 μΉ˜ν™˜, λΉ λ₯Έ 이동 λͺ…λ Ήμ–΄λ₯Ό μ•Œμ•„λ‘λ©΄ 맀우 μœ μš©ν•˜λ‹€.

 

 

 

  • 검색:
    • /textλ₯Ό μž…λ ₯ν•˜μ—¬ textλ₯Ό μ°Ύκ³ , n으둜 λ‹€μŒ 검색 결과둜 μ΄λ™ν•œλ‹€.
    • ?text둜 λ°˜λŒ€λ‘œ 검색할 μˆ˜λ„ μžˆλ‹€.

/textλ₯Ό μž…λ ₯ ν›„ Enterλ₯Ό 쳐야 nλ™μž‘μ΄ μ œλŒ€λ‘œ λœλ‹€! 

Enter μ•ˆ 치고 nλ„£μœΌλ©΄ /textn이 λœλ‹€... 

 

 

 

 

 

  • μΉ˜ν™˜:
    • :s/simple/test/g둜 "simple"을 "test"둜 μΉ˜ν™˜ν•œλ‹€.
    • :%s/vi/Vim/g둜 파일 μ „μ²΄μ—μ„œ "vi"λ₯Ό "Vim"으둜 μΉ˜ν™˜ν•œλ‹€..

μΉ˜ν™˜ μ „

μΉ˜ν™˜ ν›„! 

 

 

 

 

 

  • λΉ λ₯Έ 이동:
    • fV둜 ν˜„μž¬ μ€„μ—μ„œ "V"둜 μ΄λ™ν•œλ‹€. (fλ₯Ό λˆ„λ₯Έμ±„λ‘œ Vλ₯Ό μž…λ ₯ν•΄μ•Ό ν•œλ‹€.) 
    • tV둜 "V" μ•žκΉŒμ§€ μ΄λ™ν•œλ‹€. (tλ₯Ό λˆ„λ₯Έμ±„λ‘œ Vλ₯Ό μž…λ ₯ν•΄μ•Ό ν•œλ‹€.) 

 

 

 

4. 파일 관리 및 닀쀑 파일 μž‘μ—…

viμ—μ„œ μ—¬λŸ¬ νŒŒμΌμ„ λ™μ‹œμ— μž‘μ—…ν•˜λŠ” 것도 κ°€λŠ₯ν•˜λ‹€.

νŒŒμΌμ„ λΆ„ν• ν•˜κ±°λ‚˜ λ‹€λ₯Έ 파일둜 μ΄λ™ν•˜λ©΄μ„œ μž‘μ—…μ„ 효율적으둜 μ§„ν–‰ν•  수 μžˆλ‹€.

 

  • 닀쀑 파일 μ—΄κΈ°:
    • :e anotherfile.txt둜 λ‹€λ₯Έ νŒŒμΌμ„ μ—°λ‹€.
    • :bnκ³Ό :bp둜 파일 간에 이동할 수 μžˆλ‹€.

 

근데 e anotherfile.txt λͺ…령을 μž…λ ₯ ν–ˆλŠ”λ° 이와 같이 λœ¨κΈ°λ„ ν•œλ‹€. 

파일이 λ³€κ²½λ˜μ—ˆλŠ”λ° λ‹€λ₯Έ 파일둜 μ΄λ™ν•˜κ±°λ‚˜ μ’…λ£Œν•  λ•Œ λ°œμƒν•˜λŠ” 였λ₯˜μ΄λ‹€. 

 

 

 

λ³€κ²½ 사항 μ €μž₯ ν›„ λ‹€λ₯Έ 파일 μ—΄κΈ°

  • ν˜„μž¬ νŒŒμΌμ„ μ €μž₯ν•˜κ³  λ‹€λ₯Έ νŒŒμΌμ„ μ—΄κ³  μ‹Άλ‹€λ©΄, :w λͺ…λ Ήμ–΄λ‘œ ν˜„μž¬ νŒŒμΌμ„ μ €μž₯ν•œ ν›„ λ‹€λ₯Έ νŒŒμΌμ„ μ—΄ 수 μžˆλ‹€.
:w
:e anotherfile.txt

 

 

 

λ³€κ²½ 사항 버리고 λ‹€λ₯Έ 파일 μ—΄κΈ°

  • ν˜„μž¬ 파일의 λ³€κ²½ 사항을 μ €μž₯ν•˜μ§€ μ•Šκ³  λ‹€λ₯Έ νŒŒμΌμ„ μ—΄λ €λ©΄ !λ₯Ό μ‚¬μš©ν•΄ κ°•μ œλ‘œ λ³€κ²½ 사항을 λ¬΄μ‹œν•˜κ³  μ—΄ 수 μžˆλ‹€.
:e! anotherfile.txt

 

 

κ°•μ œλ‘œ μ €μž₯ν•˜κ³  파일 μ—΄κΈ°

  • ν˜„μž¬ νŒŒμΌμ„ μ €μž₯ν•˜μ§€ μ•Šκ³  κ°•μ œλ‘œ λ‹€λ₯Έ νŒŒμΌμ„ μ—΄λ €λ©΄ :e!λ₯Ό μ‚¬μš©ν•΄ λ³€κ²½ 사항을 λ¬΄μ‹œν•˜κ³  μ—΄ 수 μžˆλ‹€.
:e! anotherfile.txt

 

이 λͺ…령어듀을 μ‚¬μš©ν•΄ E37 였λ₯˜λ₯Ό ν•΄κ²°ν•˜κ³  λ‹€λ₯Έ νŒŒμΌμ„ μ—΄ 수 μžˆλ‹€!

 

 

 

 

 

 

 

 

  • 파일 λΆ„ν• :
    • :vsplit practice.txt둜 νŒŒμΌμ„ μˆ˜ν‰μœΌλ‘œ λΆ„ν• ν•˜μ—¬ 두 창으둜 λ³Ό 수 μžˆλ‹€..

 

  • 파일 λΆ„ν•  μ°½ μ·¨μ†Œ:
    • μˆ˜ν‰ λΆ„ν•  창을 λ‹«μœΌλ €λ©΄ :qλ₯Ό μ‚¬μš©ν•˜κ³ , 수직 λΆ„ν•  창도 λ§ˆμ°¬κ°€μ§€λ‘œ :qλ₯Ό μ‚¬μš©ν•˜μ—¬ 닫을 수 μžˆλ‹€.

 

 

 

 

 

 

 

 

 


 

 

마우슀λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  ν‚€λ³΄λ“œλ§ŒμœΌλ‘œ ν…μŠ€νŠΈλ₯Ό λΉ λ₯΄κ²Œ μˆ˜μ •ν•  수 μžˆμ–΄ μž‘μ—… 속도와 생산성이 크게 ν–₯μƒλœλ‹€.

아직 μ΅μˆ™ν•˜μ§€ μ•Šμ§€λ§Œ, κ³„μ†ν•΄μ„œ 배우며 더 λΉ λ₯΄κ³  νŽΈλ¦¬ν•˜κ²Œ μž‘μ—…ν•  수 μžˆλ„λ‘ λ…Έλ ₯ν•΄μ•Όκ² λ‹Ή!

 

 

 

 

 

 

λ°˜μ‘ν˜•

'π™Έπšƒ' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

파일 및 디렉토리 μ†Œμœ μž λ³€κ²½: chown λͺ…λ Ήμ–΄ μ‚¬μš©λ²•  (0) 2024.11.01
κ°œλ°œμžκ°€ νšŒμ‚¬λ₯Ό κ³ λ₯Ό λ•Œ κ³ λ €ν•΄μ•Ό ν•  μš”μ†Œ  (0) 2023.11.01
개발 νšŒμ‚¬ μ’…λ₯˜  (1) 2023.10.23
[WINDOWS] CPU μ½”μ–΄ μ“°λ ˆλ“œ 수 ν™•μΈν•˜κΈ°  (0) 2023.10.13
TCP와 UDP의 차이  (0) 2023.10.06
  1. VI νŽΈμ§‘κΈ°λž€?
  2. 1. κΈ°λ³Έ κ°œλ… 읡히기
  3. 2. ν…μŠ€νŠΈ νŽΈμ§‘ κΈ°λ³Έ λͺ…λ Ήμ–΄
  4. 3. κ³ κΈ‰ νŽΈμ§‘ λͺ…λ Ήμ–΄
  5. 4. 파일 관리 및 닀쀑 파일 μž‘μ—…
'π™Έπšƒ' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • 파일 및 디렉토리 μ†Œμœ μž λ³€κ²½: chown λͺ…λ Ήμ–΄ μ‚¬μš©λ²•
  • κ°œλ°œμžκ°€ νšŒμ‚¬λ₯Ό κ³ λ₯Ό λ•Œ κ³ λ €ν•΄μ•Ό ν•  μš”μ†Œ
  • 개발 νšŒμ‚¬ μ’…λ₯˜
  • [WINDOWS] CPU μ½”μ–΄ μ“°λ ˆλ“œ 수 ν™•μΈν•˜κΈ°
ν•΄λ²„λ‹ˆ
ν•΄λ²„λ‹ˆ
κ°œλ°œν•˜λ©΄μ„œ 배운 것듀을 κΈ°λ‘ν•©λ‹ˆλ‹€.
ν•΄λ²„λ‹ˆ
DevNight
ν•΄λ²„λ‹ˆ
전체
였늘
μ–΄μ œ
  • 전체보기 (215) N
    • πšπšŽπšπš›πš˜πšœπš™πšŽπšŒπšπš’πšŸπšŽπšœ (6)
      • πšƒπš’πš™πšœ (2)
      • 회고 (3)
      • μ‹€μˆ˜ λͺ¨μŒμ§‘ (0)
    • π™Ώπš›πš˜πš“πšŽπšŒπš (3)
      • π™Ίπ™Ύπš‚πšƒπ™° πš†πšŽπš‹ π™Ώπš›πš˜πš“πšŽπšŒπš (2)
    • π™Ώπš›πš˜πšπš›πšŠπš–πš–πš’πš—πš π™»πšŠπš—πšπšžπšŠπšπšŽ (67)
      • π™·πšƒπ™Όπ™» (6)
      • π™²πš‚πš‚ (3)
      • π™Ήπ™°πš…π™° (47)
      • π™ΉπšŠπšŸπšŠπš‚πšŒπš›πš’πš™πš (10)
      • πšƒπš’πš™πšŽπš‚πšŒπš›πš’πš™πš (1)
    • π™±πšŠπšŒπš”πšŽπš—πš (19)
      • πš‚πš™πš›πš’πš—πš π™±πš˜πš˜πš (4)
      • πš‚πš™πš›πš’πš—πš (3)
      • 파일 처리 (1)
      • π™Ήπš‚π™Ώ (6)
      • πš†π™΄π™± (4)
    • π™΅πš›πš˜πš—πšπšŽπš—πš (9)
      • 𝚁𝚎𝚊𝚌𝚝 (4)
      • πš…πšžπšŽ.πš“πšœ (2)
      • π™·πšžπšπš˜ (3)
    • π™°πš•πšπš˜πš›πš’πšπš‘πš– (46) N
      • π™Ώπš›πš˜πšπš›πšŠπš–πš–πšŽπš›πšœ (6)
      • π™±πšŠπšŽπš”πš“πš˜πš˜πš— (38) N
    • π™³π™°πšƒπ™°π™±π™°πš‚π™΄ (19)
      • πš‚πš€π™» (1)
      • π™Ώπš˜πšœπšπšπš›πšŽπš‚πš€π™» (1)
      • π™Όπš’πš‚πš€π™» (3)
      • π™Ύπš›πšŠπšŒπš•πšŽ (1)
      • π™ΌπšŠπš›πš’πšŠπ™³π™± (1)
      • π™Ώπš›πš˜πšπš›πšŠπš–πš–πšŽπš›πšœ (1)
    • π™³πšŽπšŸπšŽπš•πš˜πš™πš–πšŽπš—πš πšƒπš˜πš˜πš•πšœ (14) N
      • π™Έπš—πšπšŽπš•πš•πš’π™Ή (0)
      • π™΄πšŒπš•πš’πš™πšœπšŽ (9)
      • πš…πš‚π™²πš˜πšπšŽ (1)
      • π™±πšžπš’πš•πš πš‚πšŒπš›πš’πš™πšπšœ (1)
    • πš…πšŽπš›πšœπš’πš˜πš— π™²πš˜πš—πšπš›πš˜πš• (15)
      • π™Άπš’πš (4)
      • π™Άπš’πšπ™·πšžπš‹ (6)
      • πš‚πš…π™½ (5)
    • 배포 및 인프라 (2)
      • π™°πš†πš‚ (2)
    • π™Έπšƒ (10)
      • πš‚πš…π™½ (0)
    • ν™˜κ²½μ„€μ • (2)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • spring
  • php
  • μ˜€λΈ”μ™„
  • μ•Œκ³ λ¦¬μ¦˜
  • html
  • λ°±μ€€
  • React
  • Hugo
  • PostgreSQL
  • μžλ°”μŠ€ν¬λ¦½νŠΈ
  • μ½”ν…Œ
  • μžλ°”
  • ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€
  • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
  • JavaScript
  • 이클립슀
  • BAEKJOON
  • μžλ°”μ˜μ •μ„
  • Java
  • μ½”λ”©ν…ŒμŠ€νŠΈ

졜근 λŒ“κΈ€

졜근 κΈ€

hELLO Β· Designed By μ •μƒμš°.v4.3.0
ν•΄λ²„λ‹ˆ
VI νŽΈμ§‘κΈ° κΈ°λ³Έ μ‚¬μš©λ²•κ³Ό ν™œμš© 팁
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.