Enter 키를 바인딩할 때 bash bin -x를 사용하여 허용된 행을 readline으로 보냅니다.

Enter 키를 바인딩할 때 bash bin -x를 사용하여 허용된 행을 readline으로 보냅니다.

Enter다음을 사용하여 키를 성공적으로 바인딩 했습니다 .


function foo() {
  echo 'Im a foo'
}

bind -m vi-insert -x '"\C-M": foo'

문제는 READLINE_LINE을 받아들일 수 없다는 것입니다.

Enter키를 외부 명령에 바인딩한 다음 동시에 수락 줄을 보내려면 어떻게 해야 합니까 ?

다음을 사용하여 개행 문자를 인쇄하려고 합니다.

function foo() {
  echo 'Im a foo'
  printf "%b" "\n"
}

그러나 이것은 프롬프트 다음에 개행 문자를 인쇄합니다. READLINE_LINE이 실제로 승인되지 않았습니다.

답변1

사용자 정의 입력 핸들러에서 readline의 표준 accept-line 동작을 호출하는 것이 불가능해 보이기 때문에 다음을 사용할 수 있습니다:https://github.com/axiros/readline_proxy/

관련 정보