답변:
Readline은이라는 수정 자에 대해 아무것도 모르며 Shift
알 수없는 수정 자 이름을 조용히 무시합니다. 시도하십시오 wibble-TAB
.
액션을 Shift+에 바인딩하려면 Tab터미널이 어떤 이스케이프 시퀀스를 보내야하는지 알아야합니다. bash는, 실행에서 cat
입력 Ctrl+ V다음 Shift+ Tab. 이스케이프 시퀀스를 문자 그대로 삽입합니다. 첫 번째 문자는 다음과 같이 이스케이프 문자 일 가능성이 높습니다 ^[
. 터미널마다 다른 이스케이프 시퀀스가 있지만 일반적인 가능성은 ␛[Z
(예 : 이스케이프, 왼쪽 대괄호, 대문자 Z) 및 ␛␉
(예 : 이스케이프, 탭)입니다. 바인딩 적절에서 키 ~/.inputrc
(여기서 \e
이스케이프 문자를 의미).
"\e\t": menu-complete-backward
"\e[Z": menu-complete-backward
cat
은 bash 바인딩을 피합니다. 일반적으로 bash는 문자 그대로 다음 문자를 삽입하는 동일한 Ctrl + V 바인딩을 사용하므로 차이가 없습니다.
$ cat <Enter> <Shift+Tab>
어느 표시 ^[[Z
나는 항상 \e
내가 얻는 순서보다 먼저 추가 Ctrl+V
합니까? 이은에 번역 하는가"\e^[[Z": shell-expand-command
^[
\ e`로 대체
^[Z
나를 위해 일했다 (BASH); 자세한 답변 주셔서 감사합니다! :)