Vi
Vi는 리눅스의 커맨드 환경에서 주로 사용하는 편집기로 유닉스부터 이어져온 시스템 내장프로그램이다. 이러한 Vi에 편리하게 개선시킨것이 Vim이다.
Vi의 모드
Vi는 3가지 모드로 구분할 수 있는데 명령모드, 입력모드, EX모드이다.
명령모드 Vi를 실행하면 가장 먼저 나오는게 명령모드이다. 이후 a 또는 i키를 눌러 입력모드로 이동할 수 있다.
입력모드 입력모드는 내용을 입력하거나 수정하는 모드이다.
EX모드 입력이나 수정이 끝난 뒤 저장, 종료, 취소를 하는 모드이다.
사용해보자

vim test.txt // 현재 디렉토리에 vim으로 test.txt 파일을 생성

커서이동
| 단축키 | 설명 |
|---|
| k | 커서를 위로 움직인다. |
| j | 커서를 아래로 움직인다. |
| h | 커서를 왼쪽으로 움직인다. |
| ㅣ | 커서를 오른쪽으로 움직인다. |
| w | 다음 단어의 처음으로 커서를 움직인다. |
| e | 다음 단어의 끝으로 커서를 움직인다. |
| b | 바로 앞단어의 첫 글자로 커서를 움직인다. |
| $ | 줄의 마지막으로 커서를 움직인다. |
| ^ | 줄의 처음으로 커서를 움직인다. |
| (,) | 다음 또는 이전 문장의 처음으로 커서를 움직인다. |
| {,} | 다음 또는 이전 문단의 처음으로 커서를 움직인다. |
| [[,]] | 다음 또는 이전 구절의 처음으로 커서를 움직인다. |
| Shift+g | 문서의 마지막으로 커서를 움직인다. |
| gg | 문서의 처음으로 커서를 움직인다. |
화면이동
| 단축키 | 설명 |
|---|
| ^+F | 한화면 앞으로 이동한다. |
| ^+B | 한화면 뒤로 이동한다. |
| ^+D | 반화면 앞으로 이동한다. |
| ^+U | 반화면 뒤로 이동한다. |
| ^+E | 한줄 앞으로 이동한다. |
| ^+Y | 한줄 뒤로 이동한다. |
입력
| 단축키 | 설명 |
|---|
| i | 현재 위치에서 입력한다. |
| I | 현재줄의 맨 처음에서 입력한다. |
| a | 현재 위치에서 한칸 앞으로 이동한 뒤 입력한다. |
| A | 현재줄의 맨 마지막에서 입력한다. |
| o | 현재 줄 아래에 빈라인을 생성한다. |
| O | 현재 줄 위에 빈라인을 생성한다. |
| s | 현재위치의 문자를 지우고 입력한다. |
| S | 현재 줄을 모두 지우고 입력한다. |
편집
| 단축키 | 설명 |
|---|
| y | 한줄 복사 |
| yn | n줄만큼 복사 |
| p | 붙여넣기 |
| dd | 한줄 삭제 |
| dw | 한단어 삭제 |
| u | 되돌리기(다중지원) |
EX모드
| 단축키 | 설명 |
|---|
| :q | 종료 |
| :q! | 강제종료 |
| :wp | 저장 후 종료 |
| e [filename] | 해당 파일은 연다. |
| ZZ | 현재 파일 저장 후 종료 |