vi 편집기 모드는 3가지로 분류 될 수 있다.
command mode: 수정 모드 진입 전 여러가지 명령을 할 수 있는 모드edit mode (insert mode): 에디터 수정 모드extend mode (last line mode): 커맨드 모드에서 :로 시작하는 모드. 파일 내용의 replace 등을 할 수 있는 모드command => edit
i : 커서 앞a: 커서 뒤o : 커서 아래 라인에I: 라인에 앞A:라인에 뒤O:커서 위에R : windows 에서의 => insert 키와 같음. (덮어쓰기)r:캐릭터 하나만 수정cc or S:라인 자체를 삭제하면서 edit mode 돌입cw:한 단어 삭제하고 edit mode 돌입s:한 단어 삭제 후 edit mode 돌입h:왼쪽 이동
j:아래 이동
k:위 이동
l:오른쪽 이동 라인 뒷방향으로 이동
^:라인에 맨 앞에
$:라인에 맨 뒤에
H:화면에 처음 라인
L:화면에 마지막 라인
gg or 1G : 문서의 처음
G : 문서의 마지막 라인
num G : number 라인
dd:라인 삭제
dw:단어 삭제
d^:커서 앞에서 라인 처음까지 삭제
d$:커서 포함 라인 뒤까지 삭제
U:라인에 수정한 것으로 원복하고 싶을때
u:했던 작업 되돌리기
ctrl+r : 작업 재실행
yy:라인 복사
yw:단어 복사
y^:커서 앞에 부터 라인 앞까지 복사
y$:커서 포함 라인 뒤까지 복사
P:라인 복사시에는 커서의 윗라인에 붙여넣기 , 라인이 바뀌지 않는 복사시에 커서의 앞에 붙여넣기
p:라인 복사시에는 커서의 아래에 붙여넣기, 라인이 바뀌지 않는 복사시에 커서의 뒤에 붙여넣기
:q = 수정을 안했을시에 종료
:q! = 수정을 저장을 안하고 종료
:w = 저장하기
:wq = 저장하고 종료
:x = 저장하고 종료
:set nu or set number = 라인 앞에 숫자 붙이기
:set nonu = 숫자 붙이기 취소
:n,m d = n 라인부터 m 라인까지 삭제
:n,m co l = n 라인부터 m 라인까지 복사 해서 l 라인 아래에 붙이기
:n,m m l = n 라인부터 m 라인까지 잘라내서 l 라인 아래로 이동
:% s/A/B/g = 문서 전체에서 A를 B로 바꾸기
:SP,EP s/A/B/g= SP 라인부터 EP라인까지 A를 B로 바꾸기