[저장 명령어]
  - :q,:q! => 저장 안하고 나가기
  - :w! => 강제로 덮어쓰기
  - :w file => 현재내용을 file로 저장 
  - :wq,:wq! => 저장하고 나가기
 
[커서이동]
  - h, j, k, l : 좌우상하 이동
  - ^f, ^b : 한페이지 이동
  - w, b : 다음단어, 이전단어로 이동
  - $, ^, 0 : 줄끝, 줄처음으로 이동
  - Shift-G, :1 : 파일끝, 파일처음으로 이동
  - (, ) : 이전문단, 다음문단으로 이동
 
[삽입관련 명령어]
  - i : 커서의 앞에 삽입 
  - a : 커서의 뒤에 삽입 
  - o : 커서 아래에 행추가
  - O : 커서 위에 행추가
  - r : 커서 위치의 한글자 교체
  - R : 커서 위치부터 <ESC>를 누를때까지 다른 글자로 교체
  
[삭제관련 명령어]
  - dd  : 커서가 있는 한줄 삭제 
  - 5dd : 커서가 있는 한줄 아래 5 라인 삭제 
  - x   : 커서가 있는 한 문자 삭제 
  - dO  : 커서 위치로부터 그 라인의 첫 칸까지 삭제 
  - d$  : 커서 위치로부터 그 라인의 끝까지 삭제 
 
[검색관련 명령어]
  - /and : 커서 이후의 and를 검색, 
    n : 아래로 계속 검색, N :위로 계속 검색
 
[치환관련 명령어]
  - :s/old/new    => 현재 줄의 처음 old를 new로 교체 
  - :s/old/new/g  => 현재 줄의 모든 old를 new로 교체 
  - :%s/unix//g   => 현재파일의 모든 unix를 삭제
  - :%s/old/new/g => 현재파일의 모든 old를 new로 치환
 
[복구관련 명령어]
  - :u => 바로 이전에 실행된 명령어 취소 
  - :U => 현재 행에서 사용한 모든 명령을 취소 
 
[기타]
  - . => 조금 전에 했던 명령을 반복 
  - J => 현재 줄과 아래 줄을 연결 
  - ~ => 대문자를 소문자로, 소문자를 대문자로 바꿈 
  - % => 괄호의 반대쪽 짝으로 이동 
  - :r !date => date 명령 실행 결과를 커서 위치에 끼워넣기
  - :r file => [file]을 커서위치에 끼워넣기 
  - :set all => 모든 옵션 보기
  - :set [option] => [option]을 켜기 
  - :set [nooption] => [option]을 끄기
  - :set list => 특수문자 표시
  - :set number => 줄번호 표시
  - Ctrl+g => 파일에 관한 정보를 표시



[출처] vi 에디터 정리|작성자 네모상자Q