14 리눅스 vi 자주쓰는 유용한 단축키, 명령어 정리
10 Aug 2019 | linux VirtualBox centos[TOC]
리눅스에서 파일을 수정할 때,
vi {파일}
명령어 입력 후 사용할 수 있는 단축키 정리
0) 실제로 내가 제일 많이 쓰던 명령어
손에 익지 않아서 간단한 것들만 자주 쓰게 된다,,,
단축키 | 수행작업 |
---|---|
shift + g (=window end 키) | 커서 맨뒤로 |
gg (=window home키) | 커서 맨앞으로 |
yy | 복사(해당줄에 커서 후 yy) |
p, P | 붙여넣기(해당줄에 커서 후 p or P) |
dd | 줄 지우기(한 줄 삭제) |
dw | 단어 지우기 |
u | 방금 수행 되돌리기 |
shift + u | 해당 줄만 수행 되돌리기 |
shift + j | 현재줄과 다음줄 연결 |
1) 유용한 단축키
- 삽입 기능 단축키 ( 명령모드 )
단축키 | 수행작업 |
---|---|
i | 커서 앞에 삽입 |
a | 커서 뒤에 삽입 |
o | 현재 줄 다음에 삽입 |
I | 현재 줄 첫 칸 앞에 텍스트 입력 |
A | 현재 줄 끝에 텍스트 입력 |
O | 현재 줄 앞에 삽입 |
- 삭제 기능 단축키 ( 명령모드 )
단축키 | 삭제 대상 | 수행작업 |
---|---|---|
x, #x | 문자 | 커서 위치의 문자 삭제 |
dw, #dw | 단어 | 커서 위치의 단어 삭제 |
dd, #dd | 줄 | 커서 위치의 줄 삭제 |
D(shift+d) | 줄의 일부 | 커서 위치부터 줄 끝까지 삭제 |
u | 방금 수행 명령 취소 | |
U | 해당 줄의 모든 편집 취소 |
- 복사 / 잘라내기 / 붙이기 기능 단축키 ( 명령모드 )
단축키 | 수행작업 |
---|---|
yy, #yy | 현재 행을 버퍼로 복사 (ex: 5yy - 현재 행부터 아래로 5줄을 버퍼에 저장) |
p | 현재 행 다음에 버퍼 내용 삽입 |
P | 현재 행 위쪽에 버퍼 내용 삽입 |
dd, #dd | 현재 행을 잘라내기 |
버퍼
- vi는 작업 내용을 버퍼에 저장 - 실행 취소 가능
- 복사하기, 잘라내기에 사용
사용 예
a3yy
: 현재 행부터 아래로 3줄을 a 버퍼에 저장ap
: a 버퍼의 내용을 붙여넣기
- 검색 기능 단축키 ( 명령모드 )
단축키 | 수행작업 |
---|---|
/문자 | 현재 위치부터 파일 앞쪽으로 문자열 탐색 |
?문자 | 현재 위치부터 파일 뒤쪽으로 문자열 탐색 |
n | 다음 문자열 탐색 |
N | 역방향으로 문자열 탐색 |
- 삽입 기능 단축키
- 기타
vi에서 쉘 명령어 실행
명령어 | 수행작업 |
---|---|
:!명령 | vi를 중단하고 지정한 명령 수행 |
다시 vi로 돌아올 때 : enter | |
:sh | vi를 잠시 빠져나가서 쉘을 수행 |
다시 vi로 돌아올 때 : exit |
알아두면 유용한 명령 키
명령어 | 수행작업 |
---|---|
:f 파일명 | 파일 이름을 지정한 이름으로 변경 |
:w %.old | 현재 파일을 .old 이름으로 저쟁해 둘 때 |
^g | 기본적인 파일 정보 출력(파일명, 라인 수 등..) |
J | 현재 줄과 다음 줄 연결 |
. | 바로 이전에 수행한 명령 재 실행 |
~ | 현재 커서위치의 한 문자를 소문자 혹은 대문자로 전환 |
- vi 종료 단축키
저장 : 저장하거나 종료하려면 “명령모드”로 돌아와야 한다.
ex) 편집 후 ESC
키를 눌러 편집모드가 아닌 명령모드 상태로 아래의 명령어를 쳐야한다.
명령어 | 수행작업 |
---|---|
:w | 현재의 파일명, 상태로 파일 저장 |
:w 파일명 | 지정한 파일명, 상태로 파일 저장 |
종료 명령 : 저장 후 종료 또는 그냥 종료
명령키 | 수행작업 |
---|---|
:q | 작업 내용을 저장했으면 vi종료, 안했으면 종료 불가 |
:q! | 작업 내용을 저장하지 않고 강제로 vi 종료 |
:wq | 작업 내용을 저장한 후 vi 종료 |
:wq 파일명 | 작업 내용을 지정한 파일명으로 저장한 후 vi 종료 |
xx(shift+zz) | 작업 내용을 저장한 후 vi 종료 |
2) 편집모드에서 커서 움직이기
-
편집 모드에서 마우스로 커서를 움직일 수 없다.
-
만약 마우스로 움직이고 싶다면, ESC키를 눌러 명령모드로 바꾼 뒤 커서를 움직여야 한다.
-
화살표 혹은 h, j, k, l 키로 움직일 수 있다.
지정한 곳으로 이동하기
단축키 | 수행작업 |
---|---|
:n 또는 nG | 줄 번호 n 위치로 |
:$ 또는 G | 파일의 끝 줄로 이동 |
n+ | n줄 만큼 앞으로 이동 |
n- | n줄 만큼 뒤로 이동 |
( | 현재 문장의 처음으로 |
) | 다음 문장의 처음으로 |
{ | 현재 문단의 처음으로 |
} | 다음 문단의 처음으로 |