Readline 바인딩이 Control 및 Shift 수정자와 작동하지 않습니다.

Readline 바인딩이 Control 및 Shift 수정자와 작동하지 않습니다.

저는 Bash에서 GNU Readline의 키 바인딩을 조정하고 있습니다. 특히 다음과 같은 매핑 효과를 얻고 싶습니다.

Control' ==> 'I'

ControlShift' ==> "I"

Control` ==> `I`

Control[ ==> [I]

ControlShift[ ==> {I}

여기서는 I확장 후 커서 위치를 나타냅니다.

~/.inputrc. 그러나 <C-`>매핑만 예상대로 작동합니다.

$include /etc/inputrc
$if mode=emacs
"\C-\'": "\'\'\C-b"
"\C-`": "``\C-b"
"\C-\"": "\"\"\C-b"
"\C-{": "{}\C-b"
"\C-[": "[]\C-b"
$endif

내 구성에 어떤 문제가 있는지, 그리고 이러한 매핑을 올바르게 만드는 방법(가능한 경우)이 궁금합니다.

답변1

터미널에서는 일반적으로 다음을 얻을 수 없습니다.모두컨트롤 및 시프트 수정자의 조합을 다른 값으로 설정:

  • 의 기초제어그리고옮기다정의하는 US-ASCII(및 이와 유사한) 체계에서 나온 것입니다.제어그리고옮기다알파벳 문자와 a약간의구두점 문자.
  • 조합컨트롤+시프트제외하고는 일반적으로 효과가 없습니다.특별한열쇠.
  • 일부 터미널은 제어/전환을 위한 이스케이프 시퀀스를 정의합니다.특별한키(예: 커서 및 기능 키). 열쇠 tab는 그 열쇠 중 하나가 아닙니다.

다음은 ASCII를 사용하여 제어 문자를 설명하는 스크린샷입니다.

여기에 이미지 설명을 입력하세요

관련 정보