[리눅스] vi 편집기 단축키
vi 편집기 구조
https://coding-factory.tistory.com/505
명령 모드 (Command)
-
커서의 이동, 수정, 삭제, 복사, 붙이기, 탐색 등
-
[Esc] 키를 통해 명령모드로 전환 가능
입력 모드 (Insert)
- 명령 모드에서 입력 명령어를 통해 문서 입력
마지막 행 모드 (Last Line)
- 명령모드에서 : 키 입력을 통해 명령 수행
- 화면 맨 아랫줄에서 저장, 종료, 탐색, 치환, vi 환경설정 등
vi 파일 저장 및 종료
모드 | 명령키 | 설명 |
---|---|---|
Last Line | :q | 작업한 내용이 없을 때 vi 종료 |
:q! | 작업한 내용을 저장하지 않고 종료 | |
:w[파일명] | 작업한 내용 저장. 파일명 지정 시 새 파일로 저장 | |
:wq, :wq! | 작업한 내용 저장 후 vi 종료 | |
Command | ZZ | 작업한 내용 저장 후 vi 종료 |
입력 명령어
모드 | 명령키 | 설명 |
---|---|---|
Insert | i | 현재 커서 앞에 입력 |
a | 현재 커서 뒤에 입력 | |
o | 커서가 위치한 다음 행에 입력 | |
I (대문자 i) | 커서가 위치한 행의 첫 컬럼으로 이동하여 입력 | |
A | 커서가 위치한 행의 마지막 컬럼으로 이동하여 입력 | |
O | 커서가 위치한 행의 이전 행에 입력 |
vi 커서 이동
모드 | 명령키 | 설명 |
---|---|---|
Command | G | 파일의 마지막 행으로 커서 이동 |
gg | 파일의 첫번째 행으로 커서 이동 | |
행번호G | 지정한 행 번호로 커서 이동 | |
Insert | :행번호 | 지정한 행 번호로 커서 이동 |
Command | H | 커서를 화면의 맨 윗행으로 이동 |
L | 커서를 화면의 맨 아랫행으로 이동 | |
w | 커서를 다음 단어의 첫 글자로 이동 | |
b | 커서를 앞 단어의 첫 글자로 이동 | |
e | 커서를 다음 단어의 마지막 글자로 이동 | |
l | 커서 오른쪽 이동 | |
k | 커서 위로 이동 | |
h | 커서 왼쪽 이동 | |
j | 커서 아래 이동 |
vi 범위 지정
모드 | 명령키 | 설명 |
---|---|---|
Command | v | 현재 커서를 시작으로 블록 범위 지정 - Visual모드 |
V | 현재 커서가 위치한 라인부터 블록 범위 지정 | |
ctrl v | 열 단위 블록 지정 | |
1 $ % | 1행부터 마지막 행까지 범위 지정 | |
1 . | 1행부터 커서가 있는 행까지 지정 | |
. $ | 커서가 있는 행부터 마지막 행까지 지정 | |
. . 2 | 현재 행과 두번째 아랫 행까지 지정 | |
10 20 | 10행부터 20행까지 지정 |
텍스트 복사, 잘라내기, 붙이기, 삭제
모드 | 명령키 | 설명 |
---|---|---|
Visual | y | 블록 복사 |
p | 붙여넣기 | |
Command | yy, [복사할 행 수]yy | 커서가 위치한 행 복사 |
dd, [잘라내기할 행 수]dd | 커서가 위치한 행 잘라내기 || 삭제 | |
p | 커서가 위치한 행의 아래쪽에 붙여넣기 | |
P | 커서가 위치한 행의 위쪽에 붙여넣기 | |
x, [삭제할 글자 수]x | 커서가 위치한 글자 삭제 | |
dw, [삭제할 단어 수]dw | 커서가 위치한 다어 삭제 | |
D | 커서 위치로부터 행의 끝까지 삭제 |
내용 검색
모드 | 명령키 | 설명 |
---|---|---|
Command | /문자열 | 문자열을 커서 아래 방향으로 검색 |
?문자열 | 문자열을 커서 위 방향으로 검색 | |
n | 원래 방향으로 다음 문자열 검색 | |
N | 반대 방향으로 다음 문자열 검색 |
내용 치환
모드 | 명령키 | 설명 |
---|---|---|
Command | :s/[대상문자열]/[바꿀문자열] | 커서가 위치한 행에서 첫번째로 나오는 대상 문자열을 바꿀 문자열로 바꿈 |
:%s[대상문자열]/[바꿀문자열] | 파일 전체에서 모든 대상문자열을 바꿀문자열로 바꿈 |
실행취소
모드 | 명령키 | 설명 |
---|---|---|
Command | u | 명령 취소 |
U | 해당 행에서 한 명령 취소 | |
!e! | 마지막으로 저장한 내용 이후의 것을 모두 취소 |
자주 쓰는 키 조합
-
문서 전체 복사, 붙여넣기
1 $ % 전체 블록 설정
y 복사
p 붙여넣기
-
필요한 부분 복사, 붙여넣기
v, V 블록 지정
y 복사
p 붙여넣기