이 글은 콘솔 환경에서 텍스트를 편집할 수 있는 vi 편집기 사용을 위해 요약한 글로 vi를 처음 접하는 분들은 다른 글을 참조하시기 바랍니다.
vi는 총 4가지 상태를 가지며 다음과 같은 상태 전환이 이루어집니다.
EX 모드
- 변경된 내용 저장 w
- 변경된 내용 저장하고 종료 wq
- 변경된 내용 무시하고 종료 q!
- 종료 q
- 문자열 검색(예: boy) /boy
- 다음 검색 문자열 n
- 이전 검색 문자열 N
- 문자열 변경(예: boy를 guy로 변경) %s/boy/guy/ig
- 줄 번호 표시 set nu
- 줄 번호 감추기 set nonu
명령 모드
- 현재 커서 위치에서 편집 모드로 전환 i
- 현재 커서 위치 줄의 첫문자 위치에서 편집 모드로 전환 I
- 현재 커서의 바로 뒤에서 편집 모드로 전환 a
- 현재 커서 위치 줄의 마지막 위치에서 편집 모드로 전환 A
- 왼쪽으로 커서 위치 이동 h, ←
- 오른쪽으로 커서 위치 이동 l, →
- 위쪽으로 커서 위치 이동 k, ↑
- 아래쪽으로 커서 위치 이동 j, ↓
- 다음 단어 단위로 커서 이동 w
- 이전 단어 단위로 커서 이동 b
- 커서 위치 라인의 첫 문자로 이동 ^, 0
- 커서 위치 라인의 끝 문자로 이동 $
- 마지막 라인으로 이동 G
- 100번째(1부터 시작) 라인으로 이동 100G
- 편집된 내용 되돌리기 u
- 커서 위치 한글자 삭제 x
- 커서 위치를 포함해 세 글자 삭제 3x
- 커서 앞의 글자 삭제 X
- 커서 위치의 단어 단위로 삭제 dw
- 커서 위치 줄 삭제 dd
- 커서 위치의 줄을 포함해 세 줄 삭제 3dd
- 커서 앞의 글자 삭제 X
- 커서 위치에서 줄 끝 문자까지 삭제 D
- 커서 위치의 줄을 버퍼에 복사 yy
- 커서 위치의 줄을 포함해 세 줄을 버퍼에 복사 3yy
- 버퍼에 복사된 문자열을 커서 위치에 붙여넣기 p
- 버퍼에 복사된 문자열을 커서의 앞 위치에 붙여넣기 P
- 한 글자만 수정 r
- 커서 다음 위치에 빈줄 추가 o
- 커서 이전 위치에 빈줄 추가 O
- 커서 위치의 라인과 다음 라인을 한 라인으로 붙임 J
비주얼 모드
- 글자 단위로 선택(명령모드에서 전환시) v
- 라인 단위로 선택(명령모드에서 전환시) V
- 블럭 단위로 선택(명령모드에서 전환시) ^v
- 선택된 텍스트를 버퍼에 복사 y
- 선택된 텍스트를 삭제 d, x