Bash - Alt 키 조합에서는 바인딩 명령이 작동하지 않습니다.

Bash - Alt 키 조합에서는 바인딩 명령이 작동하지 않습니다.

bash의 기본 명령을 사용하고 있지만 bindAlt 키 조합에서는 작동하지 않는 것 같습니다.

bind "M-q:echo 'hello'"

또한 키 코드 버전을 사용해 보았습니다.

bind "^[q:echo 'hello'"

Ctrl이 키는 + V키를 누른 다음 + 를 입력하여 Alt찾을 수 있습니다 Q.

sxhkd나는 더 나은 키 바인딩 지원을 갖춘 다른 쉘을 사용하는 것과 같은 다른 대안을 알고 있지만 이를 달성하기 위해 bash를 사용하는 것을 선호합니다.

답변1

글쎄, 나는 답을 찾은 것 같습니다.

bind '"\eq":"echo 'foobar'"'

Alt/M 의 키코드는 어디에 있습니까 \e? 게시물에 설명된 대로 수행하세요.

이는 명령을 실행하기만 하고 직접 실행하지는 않습니다. 원하는 경우 \n다음과 같이 끝에 추가하면 됩니다.

bind '"\eq":"echo 'foobar'\n"'

Ctrl+V이 경우 키코드를 찾는 권장 방법(조합을 사용하여 수행)이 작동하지 않고 잘못된 키코드를 제공하는 것 같습니다 . 그러나 bind -p기존 키 바인딩 보기를 사용하는 것이 문제를 해결하는 좋은 방법입니다.

관련 정보