명령 모드(command mode)
vi 명령어로 들어갈 때 처음상태와 입력 모드에서 esc를 누를 때가 명령 모드입니다.
명령어는 대소문자를 구분합니다.
명령어
i | - 현재 커서 위치에 삽입 (입력모드로 넘어감) |
a | - 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감) |
o | - 현재 줄 다음 위치에 삽입 (입력모드로 넘어감) |
x | - 커서가 위치한 곳의 글자 1개 삭제. ex) 글자 5개 삭제 : 5x |
dw | - 커서가 위치한 곳에서 부터 단어 삭제 (커서가 위치한 곳 부터 띄어쓰기 까지) |
dd | - 커서가 위치한 곳의 한 줄 삭제 (삭제이지만, p로 복구가능) ex) 5줄 삭제 : 5dd |
u | - 방금 한 명령 취소 (ctrl + z 라고 생각하면 됩니다) |
yy | - 현재 줄을 버퍼로 복사 (한 줄을 ctrl + c 한다고 생각하면 됩니다.) ex) 5줄 복사 : 5yy |
p | - 현재 커서가 있는 줄 바로 아래에 버퍼 내용 붙여넣기 (이전에 복사한 줄을 현재 커서 아래부터 ctrl + v 한다고 생각하면 됩니다.) - 5dd를 이용해서 다섯줄을 지운 것도 p 한번으로 붙여넣기 가능합니다. |
k | - 커서가 한 줄 위로 이동 |
j | - 커서가 한 줄 아래로 이동 |
l(엘) | - 커서가 한칸 우측으로 이동 |
h | - 커서가 한칸 좌측으로 이동 |
0 | - 커서가 있는 줄의 맨 앞으로 이동 (home 키라고 생각하면 됩니다) |
$ | - 커서가 있는 줄의 맨 뒤로 이동 (end 키라고 생각하면 됩니다) |
( | - 현재 문장의 처음 |
) | - 현재 문장의 끝 |
{ | - 현재 문단의 처음 |
} | - 현재 문단의 끝 |
숫자- | - 숫자 만큼 윗 줄로 이동 |
숫자+ | - 숫자 만큼 아래 줄로 이동 |
G | - 파일의 끝으로 이동 |
r | - 한 문자 변경 |
cc | - 커서가 있는 그 줄의 내용 변경 |
입력 모드(insert mode)
글을 작성할 수 있게 됩니다.
esc를 누르면 명령 모드가 됩니다.
마지막 행 모드(last line mode)
명령 모드에서 콜론(:)을 사용한 명령어 입니다.
:w | - 현재 파일명으로 파일 저장. (저장만 함 꺼지지는 않음) |
:w [파일명] | - 입력한 파일명으로 파일 저장. (저장만 함 꺼지지는 않음) |
:q | - vi 종료 (저장되지 않음) |
:q! | - vi 강제 종료 ( ! 가 붙으면 강제로 수행) |
:wq | - 저장 후 종료 |
:wq! | - 강제 저장 후 종료 ( ! 가 붙으면 강제로 수행) |
:f [파일명] | - 파일이름을 [파일명]으로 변경 |
:숫자 | - 해당 라인으로 커서 이동 |
:$ | - 파일의 맨 끝 줄로 이동 |
:e! | - 마지막 저장 이후 모든 편집 취소 |
:/문자열 | - 현재 커서 위치에서 부터파일 앞쪽으로 문자열 탐색 |
:?문자열 | - 현재 커서 위치에서 부터 파일 뒤쪽으로 문자열 탐색 |
:set nu | - vi 라인 번호 출력 |
:set nonu | - vi 라인 번호 출력 취소 |