4가지 모드 : 일반/명령 모드, 입력 모드(a, i, o, A, I, O), 비쥬얼 모드(v, V), 명령라인 모드(:, /, ?)

▶ 모드전환 : 일반/명령 모드를 통해 입력, 비쥬얼, 명령라인 모드로 전환 (일반 모드 -> 입력, 비쥬얼, 명령라인 모드)

1. 일반/명령 모드 - 커서 이동, 화면 이동, 텍스트 편집

(1) 커서이동

h : ←
j : ↓
k : ↑
l : →

^, 0 : 행의 맨 앞으로 [=Home]
$ : 행의 맨 뒤로 [=End]
- : 커서 앞 행의 처음으로
+ : 커서 뒤 행의 처음으로

H : 화면의 맨 윗행으로 {Head}
M : 화면의 가장 중간 행으로 {Middle}
L : 화면의 맨 아래행으로 {Low}

b : 커서 앞 단어의 첫글자로
w : 커서 뒤 단어의 첫글자로
e : 커서 뒤 단어의 마지막 글자로

gg : 문서의 맨 위로 (소문자 g 두번)
G : 문서의 맨 아래로
숫자G : 지정한 행으로

(2) 화면이동 (^ : Ctrl)

^f : 한 화면 앞으로 이동 [=Page Up]
^b : 한 화면 뒤로 이동 [=Page Down]
^d : 반 화면 앞으로 이동
^u : 반 화면 뒤로 이동

^e : 한줄 앞으로 이동
^y : 한줄 뒤로 이동

(3) 텍스트 편집

yy : 한줄 복사 {Yank}
숫자yy : n줄 복사
p : 커서 아래쪽에 붙여넣기 {Paste}
P : 커서 위쪽에 붙여넣기

x : 한글자 삭제
dw : 한단어 삭제 {Delete}
dd : 한줄 삭제
숫자dd : n줄 삭제
D : 커서 위치부터 그 행의 끝까지 삭제

r : 한글자 수정 {Replace}
cc : 한줄 수정 {Change}
C : 커서 위치부터 그 행의 끝까지 수정

u : 이전 작업 취소 {Undo}
U : 해당 행의 모든 작업 취소

2. 입력 모드 - 내용 편집

- 비모드 에디터의 일반모드와 동일

  • 일반 모드 → 입력 모드 : a, i, o, A, I, O 키를 누름
    i : 커서 에서 삽입
    a : 커서 에서 삽입
    o : 커서 다음줄에서 삽입
    O : 커서 이전줄에서 삽입
    I : 커서가 있는 행의 맨 앞에서 삽입
    A : 커서가 있는 행의 맨 뒤에서 삽입

  • 입력 모드 → 일반 모드 : esc키

3. 비쥬얼 모드 - 텍스트 블록지정

  • 일반 모드 → 비쥬얼 모드 : v, V, Ctrl+v 키를 누름
    v : 비쥬얼 모드
    V : 비쥬얼 라인모드
    Ctrl + v : 비쥬얼 블록모드

  • 비쥬얼 모드 → 일반 모드 : esc키

  • 블록지정 후 일반모드 명령어 사용가능
    y : 지정된 복사
    d : 지정된 블록 잘라내기
    p : 복사된 블록 붙여넣기
    x : 지정한 블록 삭제
     

4. 명령라인(ex) 모드- 내용 저장, vim 종료, 텍스트 치환

  • 일반 모드 → ex 모드 : :, /, ? 키를 누름
  • ex 모드 → 일반 모드 : esc키, enter키(실행)

:q - quit, vim 종료
:w - write(저장)
:s - 치환(하나씩)                  ex) :s/like/love [like -> love 치환]
:% - 전체치환                      ex) :%/like/love [like -> love 치환]

/검색어 - 파일내용에서 검색어 내용 찾기              ex) /like
?검색어 - 파일내용에서 검색어 내용 찾기(뒤부터)

n : 다음 방향으로 계속 검색
N : 이전 방향으로 계속 검색