[UNIX CLI] VIM

2 minute read


UNIX COMMAND LINE

  • UNIX CLI 정리(2) - VIM
  • VIM은 4가지 모드가 존재
    • Normal Mode : 커서 이동/ 텍스트 붙여놓기/ 텍스트 삭제/ 작업 취소
    • Insert Mode : 텍스트 입력
    • Visual Mode : 텍스트 블록 지정/ 텍스트 복사
    • Command Mode : 내용 저장/ vim 종료/ 특정 텍스트 검색 및 치환

Normal Mode

  • h, j, k, l을 통해 커서 이동 가능
    • h : ⬅️
    • j : ⬇️
    • k : ⬆️
    • l : ➡️
  • [number] h/j/k/l을 통해 [number]칸 만큼 왼/아래/위/오른쪽으로 이동 가능
  • ctrl g을 통해 file의 줄 수에 대한 정보 얻을 수 있음
  • 0을 통해 줄의 가장 앞쪽으로 커서가 이동
  • $을 통해 줄의 가장 뒤쪽으로 커서가 이동
  • gg을 통해 가장 첫번째 줄로 커서가 이동
  • G을 통해 가장 마지막 줄로 커서가 이동
  • x을 통해 텍스트 삭제
    • [number]x을 통해 number 숫자만큼 텍스트 삭제
  • dd을 통해 한 줄을 삭제
    • [number]dd을 통해 number 숫자만큼의 줄을 삭제
  • u을 통해 이전 작업 취소

Visual Mode

  • Normal Mode에서 v, V 입력
    • 공통 부분
      • x를 통해 블록 지정된 텍스트 삭제
      • y를 통해 블록 지정된 텍스트 복사
      • d를 통해 블록 지정된 텍스트 잘라내기
    • v 입력하면 글자 단위로 블록 지정
      • p를 통해 복사된 텍스트를 커서 다음 칸에 붙여놓기
      • P를 통해 복사된 텍스트를 커서 이전 칸에 붙여놓기
    • V 입력하면 줄 단위로 블록 지정
      • p를 통해 복사된 텍스트를 커서 다음 줄에 붙여놓기
      • P를 통해 복사된 텍스트를 커서 이전 줄에 붙여놓기

Insert Mode

  • Normal Mode에서 i, I, a, A,o, O 입력
    • i 입력하면 입력 모드로 전환
    • I 입력하면 커서를 맨 앞으로 옮기고 입력 모드로 전환
    • a 입력하면 커서를 한 칸 뒤로 옮기고 입력 모드로 전환
    • A 입력하면 커서를 맨 뒤로 옮기고 입력 모드로 전환
    • o 입력하면 커서를 다음 줄로 옮기고 입력 모드로 전환
    • O 입력하면 커서 위에 빈 줄이 생기고 해당 줄로 커서를 옮긴 뒤 입력 모드로 전환
  • esc 입력하면 Normal 모드로 전환
# 현재 커서가 있는 줄의 like을 love로 바꾸기
:s/like/love

# 모든 줄 맨 앞 부분의 like을 love로 바꾸기
:%s/like/love
    
# 모든 like을 love로 바꾸기
:%s/like/love/g
    
# 하나씩 like을 love로 바꾸기
:%s/like/love/gc

Command Mode

  • Normal Mode에서 : 입력할 시 아래의 command 가능
    • w [file_name] 입력하면 [file_name]로 저장
      • 파일이 이미 존재하는 경우 w 입력
    • q 입력하면 vim 종료
    • wq 입력하면 저장 후 vim 종료
    • q! 입력하면 (무엇인가를 입력해도) 저장 안하고 vim 종료
    • s 눌러서 단어를 치환할 수 있음
  • Normal Mode에서 / 입력할 시 아래의 command 가능
    • [letter trying to find] 입력해서 찾으려고 하는 단어 찾기
      • n 눌러서 다음 단어를 찾을 수 있음
      • N 눌러서 이전 단어를 찾을 수 있음
  • esc 입력하면 Normal 모드로 전환

  • 🔗 Vim 공식 사용 설명서
  • 🔗 Vim을 게임처럼 재미있게 배울 수 있는 사이트