Linux 터미널에서 Ctrl+X 바로 가기 키 시리즈(예: Ctrl+X Ctrl+E)는 어떻게 처리됩니까?

Linux 터미널에서 Ctrl+X 바로 가기 키 시리즈(예: Ctrl+X Ctrl+E)는 어떻게 처리됩니까?

나는 온라인 자료를 많이 읽었다.말하는Ctrl+로 시작하는 여러 복합 단축키 X:

Ctrlx Ctrle: $EDITOR 프로그램에서 현재 라인을 편집하거나, 정의되지 않은 경우 vi를 편집합니다.

Ctrlx Ctrlr: inputrc 파일의 내용을 읽고 거기에서 발견된 바인딩이나 변수 할당을 병합합니다.

Ctrlx Ctrlu: 증분 실행 취소, 각 줄을 개별적으로 기억합니다.

Ctrlx Ctrlv: 현재 bash 인스턴스의 버전 정보를 표시합니다.

Ctrlx Ctrlx: 커서를 원래 위치로 바꿉니다. (Cx, x가 십자 모양이기 때문입니다).

Ctrl그러나 가능한 모든 ++ 조합을 나열하는 공식 문서 소스를 찾을 수 X없으며 <something>다음과 같은 사람을 찾는 도구가 무엇인지조차 모릅니다. is is bash? 읽는 줄? xterm?

Ctrl그렇다면 이러한 복합 ++ X단축키는 Linux 터미널에서 어떻게 처리됩니까?<something>

답변1

Linux 터미널에서 직접 처리된 문자를 나열할 수 있습니다 stty -a. 다른 모든 것은 실행 중인 애플리케이션에 의해 처리되며 키 시퀀스 목록은 해당 애플리케이션의 문서에 있어야 합니다.

여기에 관련된 가장 가능성 있는 응용 프로그램은 쉘입니다. 대부분의 최신 셸(bash, zsh 등 포함)은 readline 라이브러리를 사용하거나 자체적으로 줄 편집을 구현합니다. readline 라이브러리와 readline 없이 이 작업을 수행하는 대부분의 쉘은 emacs편집기에서 키 시퀀스를 파생합니다(vi 바인딩도 사용할 수 있음). 특히 ctrl-x다음으로 시작하는 emacs의 키 시퀀스, C-x특히 기호(ctrl-x의 경우)는 이맥스 문서. (명확하게 말하면 emacs는 사용자가 emacs를 실행하지 않는 한 이 작업을 수행하지 않습니다. 응용 프로그램은 자체 용도로 기능을 복사할 뿐입니다.)

답변2

Ctrl++ X등 을 처리하는 <something>것은 "readline" 라이브러리이며, 이를 다루는 문서는 다음에서 찾을 수 있습니다.GNU 헤비히터.

Ctrl+ Ctrl 키의 이름은 컴퓨터에 따라 다를 수 있기 때문에 <something>단축키에 대한 설명이 다소 난해합니다 .C-<something>

또한 /etc/inputrc및 may 도 참조하십시오 /etc/inputrc.keys.

관련 정보