Vim 명령어 모음

2016-09-11

Vim 사용에 참고하기 위해 기본적인 명령어들을 정리해 보았다.

이동

  • h : 왼쪽으로 이동
  • j : 아래로 이동
  • k : 위로 이동
  • l : 오른쪽으로 이동
  • w : 다음 단어의 첫 글자로 이동
  • e : 현재 단어의 마지막 글자로 이동
  • ^ : 현재 행의 첫 글자로 이동
  • $ : 현재 행의 마지막 글자로 이동
  • gg : 문서의 첫 행으로 이동
  • G : 문서의 마지막 행으로 이동
  • [number]G : 해당 행으로 이동

삽입

  • i : 커서 위치에서 삽입 모드로 변경
  • I : 현재 행의 맨 앞에서 삽입 모드로 변경
  • a : 커서의 바로 뒤에서 삽입 모드로 변경
  • A : 현재 행의 마지막 위치에서 삽입 모드로 변경
  • o : 커서 아랫줄에서 삽입 모드로 변경
  • O : 커서 윗줄에서 삽입 모드로 변경
  • ea : 현재 단어 뒤에서 삽입 모드로 변경

편집

횟수(default 1) + 명령 + 대상

  • x : 커서 위치에서 한 글자 삭제
  • dw : 커서 위치에서 한 단어 삭제(공백 포함)
  • de : 커서 위치에서 한 단어 삭제(공백 미포함)
  • d$ 또는 D: 커서 위치에서 행의 끝까지 삭제
  • dd : 행 전체를 삭제

  • r : 커서 위치의 한 글자 바꿔넣기
  • R : 커서 위치에서 수정 모드로 변경
  • cw : 커서 위치에서 한 단어 삭제하고 입력 모드로 변경
  • c$ : 커서 위치에서 행의 끝까지 삭제하고 입력 모드로 변경
  • cc 또는 S : 행 전체를 삭제하고 입력 모드로 변경

  • u : 마지막 명령 취소(undo)
  • U : 한 줄에서의 명령 취소
  • ctrl + r : 취소한 것을 취소(redo)

  • J : 현재 행과 아래 행을 연결

  • yw : 커서 위치에서 한 단어 복사
  • y$ : 커서 위치에서 행의 끝까지 복사
  • yy : 행 전체를 복사

  • p : 커서 위치에 붙여넣기
  • P : 커서 위치 앞에 붙여넣기

상태

  • ctrl + g : 현재 커서의 위치와 파일의 이름을 표시

검색과 치환

  • /[keyword] : 해당 단어를 순차 검색
  • ?[keyword] : 해당 단어를 역순 검색
  • n 또는 N : 단어 검색 시 다음 또는 이전 검색

  • % : 커서가 (,),{,},[,] 에 있을 때 해당 괄호의 짝 찾기

  • :s/old/new : 한 줄에 처음 나타나는 oldnew로 치환
  • :s/old/new/g : 한 줄에 있는 모든 oldnew로 치환
  • :#,#s/old/new/g : #,#(줄번호) 두 줄 사이에서 oldnew로 치환
  • :%s/old/new/g : 파일 전체에서 oldnew로 치환
  • :%s/old/new/gc : 파일 전체에서 oldnew로 치환 + 바꿀때마다 확인

기타

  • :![command] : 외부 쉘 명령 실행
  • :w [filename] : 다른 이름으로 저장
  • :#,# w [filename] : #,#(줄번호) 두 줄 사이의 텍스트만 저장
  • :r [filename] : 파일 읽어와서 합치기
  • :help [command] : 도움말

설정

  • :set ic : 검색 시 대소문자 구별 안함
  • :set hls : 검색 시 찾은 글자를 강조(highlight search)
  • :set is : 검색 시 찾는 글자를 입력하는 순간 검색(increase search)
  • :nohls: 검색 시 강조된 것을 해제

참고

  • openvim : vim 명령어를 공부할 수 있는 사이트
  • vimtutor : 터미널에서 vimtutor(영문) 또는 vimtutor ko(한글)을 입력