vi편집기란 리눅스 안에서 사용할 수 있는 문서 편집기 ( visual editor )
vi 편집기 명령모드 3가지
command모드 : vi 편집기의 기본모드이며 방향키로 이동할 수 있는 상태
edit모드 : a, i, o, x 등을 누르면서 내용을 입력, 삭제하는 상태
last line모드 : 입력모드에서 저장, 종료, 강제종료 등의 명령어를 입력하는 상태
모드에서 모드를 이동할때는 취소버튼 (ESC)를 눌러주고 이동 한다.
esc 누르거나 처음 vi편집기를 킨 상태
| 단축키 | 설명 |
|---|---|
| i | 현재 커서 위치에 삽입 (edit 모드로 전환) |
| a | 현재 커서 다음에 삽입 (edit 모드로 전환) |
| o | 현재 줄 다음 위치에 삽입(edit 모드로 전환) |
| k | 위로 이동 |
| j | 아래로 이동 |
| l | 오른쪽 이동 |
| h | 왼쪽 이동 |
| G | 맨 아래로 이동 |
| gg | 맨 위로 이동 |
| $ | 줄의 맨 뒤 이동 |
| 0(숫자) | 줄의 맨 앞 이동 |
| dd | 한줄 잘라내기 |
| 2dd | 두줄(여러줄) 잘라내기 |
| x | 철자 하나 삭제 |
| yy | 하나의 행을 복사 |
| 2yy | 두개(여러개)의 행을 복사 |
| yG | 현재행부터 파일 끝까지 복사 |
| p | 붙여넣기 |
esc후 :을 입력한 상태
| 단축키 | 설명 |
|---|---|
| :w | 저장 |
| :q | 종료 |
| :q! | 강제종료 |
| :wq | 저장 후 종료 |
| :wq! | 강제 저장 후 종료 |
| :set nu | 파일내에서 텍스트에 번호 표시 |
| :set nonu | 번호 안보이게 설정 |
| :숫자 | 해당 라인으로 커서이동 |
| :5,10 d | 5~10번째 행 삭제 |
| :1,2 co 3 | 1~2행을 3행 다음으로 복사 |
| :1,2 m 3 | 1~2행을 3행 다음으로 이동 |
| :/문자 | 편집기 내에서 문자를 검색 ( n을 누르면서 이동/ shift + n 뒤로 이동 ) |
| :%s/기존문자/변경할문자 | 기존문자를 다른문자로 변경할 수 있다. |