표기법
^: 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를 실행해 준다.