~/.inputrc에서 "\C-;"를 바인딩하는 방법은 무엇입니까?

~/.inputrc에서 "\C-;"를 바인딩하는 방법은 무엇입니까?

나는 Emacs에서 화살표와 M-;백스페이스에 Meta-ijkl을 사용하고 있으므로 bash의 키가 동일한 스타일을 나타내기를 원합니다. 이동 및 삭제 작업은 훌륭하지만 어떤 이유로 커서부터 종료 버퍼의 시작 부분까지 전체 줄을 지우는 이 작업을 unix-line-discard바인딩 할 수 없습니다 . C-;복사, 삭제 및 복제에 대한 기본 emacs 키는 C-j, C-k및 이므로 C-y여기에는 또 다른 C 조합이 잘 들어맞습니다. 그리고 \e:(Meta-Shift-;)는 이미 에 바인딩되어 있습니다 backward-kill-word. 기본적으로는 C-uunix-line-discard작동하지만 누르기가 불편합니다. 예를 들어 이 함수를 다시 바인딩하면 \C-g제대로 작동합니다.

내가 ~/.inputrc가지고 있는

"\C-;": unix-line-discard

나도 시도했다

"\C-\;": unix-line-discard
"\C-\x3b": unix-line-discard

효과가 없습니다. C-v C-;셸에서는 일반적인 세미콜론 외에는 아무것도 인쇄되지 않으며 \C-;모든 변형도 세미콜론만 인쇄합니다.

나는 Urxvt에서 일합니다.

답변1

control;@meuh의 의견에 동의합니다. 터미널은 (보통) 다른 코드를 생성하지 않습니다.

이것협회@tijagi 제안은 작동 xterm하지만 작동하지 않습니다 urxvt. 매뉴얼 페이지를 사용하면 urxvt여기에서 시작할 수 있습니다.

   keysym.sym: string
       Compile frills: Associate string with keysym sym. The intervening
       resource name keysym. cannot be omitted.

그리고 다음 설정 중 하나를 사용하십시오.

*keysym.Control-semicolon: mybinding
URxvt.keysym.Control-semicolon: mybinding

필요에 따라 클래스 이름을 사용하여 기존 리소스를 재정의하고내 바인딩urxvt입력할 때 보내고 싶은 것이 무엇이든 됩니다 control;(그러나 올바른 구문은 매뉴얼 페이지를 읽으십시오). @meuh는 일반적으로 에 바인딩되므로 \025( ) 사용을 제안했습니다 .^Uunix-line-discard

추가 자료:

관련 정보