devskim blog
Search
🎮

vim 명령어 정리

Tags
Utils
Created
Jan 28, 2023 03:07 AM
Last Updated
Jul 30, 2023 09:49 AM
 
 
 

VIM?

  • 리눅스 운영체제에서 텍스트를 편집할 때 사용하는 도구로, 마우스 없이 키보드만으로 작업할 수 있도록 개발되어 있다.
  • 초심자에게는 매우 어렵지만, 숙련자에게는 생산성 높은 도구로 평가받는다.
  • 4가지 모드와 키마다 설정된 명령의 기능이 다양해서, vim을 사용하기 위해서는 별도로 공부해야 한다.
 

모드

  • Normal Mode
    • 각종 명령어를 사용할 수 있는 모드이다.
    • 어떤 모드라도 ESC 키를 입력하면 명령모드로 전환된다.
  • Command Mode
    • 여러 가지 환경 설정을 변경하거나, 파일 저장 및 종료, 검색 등을 할때 사용한다.
    • Normal 모드에서는 :, /, ?키를 누르면 전환된다.
  • Insert Mode
    • 텍스트를 편집할 수 있는 모드이다.
    • Normal 모드에서 i, I, a, A, o, O를 누르면 전환되는데, 각 명령어는 아래에서 상세히 설명하겠다.
  • Visual Mode
    • 읽기 전용 모드로, 해당 상태에서는 드래그가 가능하다는 장점이 있다.
    • Normal 모드에서 v, V를 누르면 전환된다.
notion image
 

명령어

  • 파일 저장 및 종료
    • :w라고 입력하면 파일을 저장한다.
    • :q!라고 입력하면 편집한 내용을 날리고 강제 종료한다.
    • :wq!라고 입력하면 편집한 내용을 저장하고 강제 종료한다.
  • 스크롤
    • ctrl b는 한 페이지를 위로 올리고, ctrl f는 한 페이지를 아래로 내린다.
    • ctrl u는 반 페이지를 위로 올리고, ctrl d는 반 페이지를 아래로 내린다.
  • 이동
    • 글자 단위 이동
      • h(◀️), j(🔽), k(🔼), l(▶️)로 커서를 이동시킬 수 있다.
    • 단어 단위 이동
      • 0 혹은 ^를 입력하면 줄의 가장 앞으로 가고, $를 입력하면 줄의 가장 뒤로 이동한다.
      • w를 입력하면 다음 단어의 맨앞으로 이동하고, e를 입력하면 현재 혹은 다음 단어의 맨뒤로 이동한다.
      • b를 입력하면 이전 단어의 맨앞으로 이동한다.
    • 줄단위 이동
      • gg 를 입력하면 맨앞으로, G를 입력하면 맨뒤로 이동한다.
      • 원하는 줄로 이동하려면 줄수와 G를 입력하면 된다.
        • 10번째 줄로 이동하려면 10 G라고 입력하면 된다.
  • 입력모드 전환
    • insert
      • i(소문자)를 입력하면, 커서 앞에 글자가 입력된다.
      • I(대문자)를 입력하면, 커서가 있는 줄 앞에 글자가 입력된다.
    • append
      • a(소문자)를 입력하면, 커서 뒤에 글자가 입력된다.
      • A(대문자)를 입력하면, 커서가 있는 줄 맨 뒤에 글자가 입력된다.
    • open
      • o(소문자)를 입력하면, 커서 다음 줄로 글자가 입력된다.
      • O(대문자)를 입력하면, 커서 이전 줄로 글자가 입력된다.
  • 지우기
    • 글자 지우기
      • x(소문자)를 입력하면 커서의 뒷 글자가 삭제된다. (delete 키와 유사)
      • X(대문자)를 입력하면 커서의 앞 글자가 삭제된다. (backspace 키와 유사)
    • 단어 지우기
      • 단어에서 삭제하고 싶은 부분에 커서를 두고 dw(delete word)를 입력하면 해당 단어부터 끝까지 삭제된다.
      • 줄에서 삭제하고 싶은 곳에 커서를 두고 d0 혹은 d^를 입력하면 맨앞에서 해당 부분이 삭제된다.
      • 줄에서 삭제하고 싶은 곳에 커서를 두고 D 혹은 d$를 입력하면 해당 부분에서 맨뒤까지 삭제된다.
    • 줄 지우기
      • dd를 입력하면 커서가 있는 한 줄이 모두 삭제된다.
      • 전체 줄에서 삭제하고 싶은 곳에 커서를 두고 d gg를 입력하면 맨앞에서 해당 부분까지 삭제된다.
      • 전체 줄에서 삭제하고 싶은 곳에 커서를 두고 d G를 입력하면 해당 부분에서 맨뒤까지 삭제된다.
  • 복사
    • 단어 복사
      • 복사하고 싶은 곳에 커서를 두고 yw(yank word)를 입력하면 해당 단어부터 끝까지 복사된다.
      • 줄에서 복사하고 싶은 곳에 커서를 두고 y0 혹은 y^를 입력하면 맨앞에서 해당 부분이 복사된다.
      • 줄에서 복사하고 싶은 부분에 커서를 두고 y$를 입력하면 해당 부분에서 맨뒤까지 삭제된다.
    • 줄 복사
      • Y 혹은 yy를 입력하면 커서가 있는 한 줄이 모두 복사된다.
  • 붙여넣기
    • 단어 붙여넣기
      • p(소문자)를 입력하면 커서 뒤에, P(대문자)를 입력하면 커서 앞에 붙여넣기된다.
    • 줄 붙여넣기
      • p(소문자)를 입력하면 해당 줄 아래, P(대문자)를 입력하면 해당 줄 위에 붙여넣기된다.
  • 실행 취소 및 재실행
    • u를 누르면 이전 작업이 실행취소되고, ctrl r를 누르면 그 작업이 재실행된다.
  • 환경 설정
    • 줄수 활성화 및 비활성화
      • :set nu 혹은 :set number를 입력하면 줄수가 표시된다.
      • :set no 혹은 :set nonumber를 입력하면 줄수가 비활성화된다.
    • 색상 테마 설정
      • :colo를 입력한뒤 tab키를 누르면 현재 사용할 수 있는 테마가 표시된다.
        • notion image
      • :colo 혹은 :color 혹은 :colorscheme 뒤에 ${테마이름} 추가하여 원하는 테마로 변경할 수 있다.
        • 예를 들어, :colo darkblue, :color darkblue, :colorschem darkblue 식으로 활용하면 된다.
  • 터미널 활성화
    • :term이라고 입력하면 터미널을 사용할 수 있다.
    • 탭 이동시에는 ctrl w + 화살표키를 눌러서 이동할 수 있다.
notion image
 
 

공부에 도움되는 사이트

  • Vim Adventure
    • https://vim-adventures.com/
    • 게임 형식으로 VIM 명령어를 연습할 수 있는 사이트이다.
    • 레벨 3단계까지만 무료이고, 이후 6개월 기간으로 25달러를 결제하여야 한다.
    • notion image
  • Vim Vallery
    • https://vimvalley.com/
    • 실제 편집 환경과 유사하게 VIM 명령어를 연습할 수 있는 사이트인데, 별도로 계정을 생성하여야 한다.
    • Talk to Vim like it’s a person까지만 무료이고, 이후 단계는 39달러를 결제해야 한다.
    • notion image
       
PREV운영체제별 유용한 단축키 및 명령어
NEXTtmux 간단 정리