Bash 쉘에서 수행된 키 바인딩을 변경할 수 있습니까?

Bash 쉘에서 수행된 키 바인딩을 변경할 수 있습니까?

의 경우 bash완료를 위한 Tab 키를 Esc 키로 변경합니다. 키 바인딩이 에 있다는 것을 알고 있습니다 /etc/inputrc.

하지만 이런 일이 가능한지는 모르겠습니다.

`"\e" : complete`

내 사용자는 Esc 키를 자동으로 수행할 수 있는 Solaris에서 왔기 때문에 이렇게 하고 싶습니다.

답변1

complete예, 키 바인딩을 변경하거나 기능에 키 바인딩을 추가하는 것이 가능합니다 . 이 함수는 일반적으로 기본적으로 ( Tab+와 동일)에 바인딩되고 다른 함수가 뒤따릅니다. 그러나 키 자체는 Readline 함수에 바인딩될 수 없습니다. 이는 이 키가 특별하고 Readline에서 여러 특정 용도로 사용되기 때문입니다.CtrliEscEscEscEsc

Esc키는 다른 키 시퀀스의 접두어로 사용되므로 Esc단독으로 입력하면 Readline이 인식하는 전체 키 시퀀스의 초기 부분만 설정됩니다. bash 에서 인식되는 모든 접두사 시퀀스 목록을 보려면 Esc예를 들면 다음과 같습니다.

bind -p | grep '"\\e'

Unix 터미널이 처리되는 방식으로 인해 - Esc접두사가 붙은 키 시퀀스는 일반적으로 - 키 조합과 동일합니다 Alt. 따라서 Esc다음은 u+와 완전히 동일합니다.Altu

Esc키는 Readline의 대화형 기록 검색 모드를 종료하는데도 사용됩니다.

답변2

Escape를 두 번 클릭하면 Tab을 클릭하는 것과 같은 효과가 있습니다. 이런 식으로 탈출이 구성되었습니다.

관련 정보