표기법
^
: Ctrl
M-
: Meta
- 예:
M-C
는 Meta + C
를 의미한다.
option
이나 Alt
키가 Meta
키 역할을 해준다.
기억해둘만한 Ctrl 조합 제어 키
^C
^C
를 입력하면 인터럽트 신호(SIGINT
)를 생성한다.
- 보통 터미널에서 현재 실행 중인 작업을 중지시킬 때 사용한다.
^D
D
가 0x44
이므로, ^D
는 0x04
(End of Transmission)이다.
- 표준 입력의 끝, 파일의 끝을 표현할 때
^D
문자를 사용한다.
- 터미널 명령어 프롬프트에서
^D
를 입력하면 세션이 종료된다.
^J
J
가 0x4A
이므로, ^J
는 0x0A
(Line Feed)이다.
- 엔터 대신 사용할 수 있다.
^L
^L
: 화면을 지운다.
L
이 0x4C
이므로, ^L
는 0x0C
(Form Feed)이다.
clear
명령어와 같은 효과를 낸다.
^M
M
이 0x4D
이므로, ^M
는 0x0D
(Carriage Return)이다.
- 엔터 대신 사용할 수 있다.
^V
^V
입력 직후의 입력을 제어 문자로 해석하지 않도록 한다.
- 터미널에서 특수한 제어 문자를 직접 입력하고 싶을 때 사용한다.
- 예를 들어
^V^C
를 입력하면 ^C
가 SIGINT를 발생시키지 않고, ^C
문자로 입력된다.
^V
를 입력하고, 엔터 키를 누르면 ^M
문자가 입력된다.
set -o emacs 모드에서의 편집 키
- 이동
- HOME, END
^A
: 커서를 줄의 처음으로 이동.
^E
: 커서를 줄의 끝으로 이동.
- 한 칸 이동
^F
: 커서를 오른쪽으로 한 칸 이동. (→
와 똑같음)
^B
: 커서를 왼쪽으로 한 칸 이동. (←
와 똑같음)
- 한 단어 이동
M-F
: 커서를 오른쪽으로 한 단어 이동.
M-B
: 커서를 왼쪽으로 한 단어 이동.
- 삭제 관련
^D
: 커서 위치의 문자 한 개를 삭제. (오른쪽 방향으로 삭제)
^H
: 커서 왼쪽 문자 한 개 삭제.
^K
: 커서 위치부터 오른쪽 끝까지 삭제.
^U
: 커서 왼쪽으로 전부 삭제.
^W
: 커서 왼쪽의 단어 하나 삭제.
M-D
: 커서 위치부터 현재 단어 오른쪽 끝까지 삭제.
- 히스토리 관련
^P
: 히스토리에서 이전 명령어를 꺼내온다. (↑
와 똑같음)
^N
: 히스토리에서 다음 명령어를 꺼내온다. (↓
와 똑같음)
^R
: 히스토리에서 문자열을 검색한다.
- 자세한 내용은 [[/cmd/bash/history]] 참고.
- 그 외
M-#
: 현재 편집중인 명령 제일 앞에 주석 문자(#
)를 추가한다.
^A#^M
과 똑같은 효과를 낸다. 대단히 편리하다.
set -o vi 모드에서의 편집 키
- 대부분 Vi와 똑같이 작동한다.
v
는 [[/cmd/fc]]처럼, 명령을 편집할 수 있도록 Vi를 실행해 준다.