<커서 이동> h,j,k,l - 각각 화살표의 왼쪽, 아래쪽, 위쪽, 오른쪽과 같다
<삽입> a,i,o,O - 각각 커서의 왼쪽, 오른쪽, 아래쪽, 위쪽에 문자 삽입
<텍스트변경>
cw - 단어 변경
cc - 행 변경
s - 문자열 대체
r - 문자 하나를 대체
- - 대소문자 변경
u - 이전 명령 취소
<문자 삭제>
x 또는 dl - 문자 하나 삭제
dw - 단어 삭제
dd - 행 삭제
10d - 커서가 위치한 행을 포함하여 아래로 11개의 행 삭제
:1,4 d - 1~4번째 행을 삭제
<복사, 이동>
yy - 현재 행 복사
10y - 커서가 위치한 행을 포함하여 아래로 11개의 행 복사
:1,4 d - 1~4번째 행을 삭제
P - 복사되거나 삭제한 행을 현재행 위에 삽입
p - 복사되거나 삭제한 행을 현재행 아래에 삽입
<행 번호 설정 및 이동>
:set nu - 행번호 표시
:set nonu - 행번호 표시 안함
gg - 첫 행으로 이동
G - 문서의 마지막 행으로 이동
15G 또는 :15 - 15행으로 이동
<문자열 탐색 및 치환>
/ans - ans라는 문자열 탐색
:s/aa/bb - 현재 행의 처음 나오는 aa라는 문자를 bb로 바꿈
:s/aa/bb/g - 현재 행의 모든 aa라는 문자를 bb로 바꿈
:10,20s/aa/bb/g - 10행부터 20행까지 모든 aa라는 문자를 bb로 바꿈
:-1,+2s/aa/bb/g - 현재 커서에서 위로 1줄, 아래로 2줄까지 aa라는 문자를 bb로 바꿈
:%s/aa/bb/g - 문서 전체에서 aa라는 문자를 bb로 바꿈
:%s/aa/bb/gc - 문서 전체에서 aa라는 문자를 bb로 확인하면서 바꿈
:g/cc/s/aa/bb/g - cc라는 문자가 들어있는 모든 행의 aa라는 문자를 bb로 바꿈
<블록지정>
v - 블록 지정
y - 블록 복사
r - 블록 치환
d - 블록 삭제
U - 블록의 모든 문자를 대문자로 바꿈
u - 블록의 모든 문자를 소문자로 바꿈
< - 모든 행 앞에 탭 제거
> - 모든 행 앞에 탭 삽입
:명령 - 블록에 대하여 명령 실행
<저장 및 종료>
:w - 저장
:w file.txt - file.txt 라는 이름으로 저장
:w > file.txt - file.txt에 덧붙여서 저장
:q - 종료
:q! - 강제 종료
ZZ 또는 :wq - 저장 후 종료
:e file.txt - file.txt 파일을 불러옴