바인딩(또는 .inputrc)을 사용하여 두 개의 bash 명령을 하나의 키에 매핑하는 방법은 무엇입니까?

바인딩(또는 .inputrc)을 사용하여 두 개의 bash 명령을 하나의 키에 매핑하는 방법은 무엇입니까?

일반적으로 bash에서는 vi 모드를 사용합니다. 삽입 모드에서 시작하며 일반(명령) 모드로 들어가려면 클릭해야 합니다 Esc(또는 클릭해야 합니까?).Altj

또한 (위쪽 화살표)를 에 바인딩 하겠습니다 history-search-backward.

내가 원하는 것은 위쪽 화살표를 클릭하면 기록을 거꾸로 검색할 뿐만 아니라 일반 모드로 설정된다는 것입니다. (tcsh의 동작과 다소 비슷합니다.)

나는 .inputrc에서 관련 게시물과 영리한 일을 하는 사람들을 많이 찾았지만 여기서 내가 추구하는 것보다 더 나은 것은 없습니다. (좋다이것그리고이것특히. )

배쉬에서 이것이 가능합니까?

답변1

노력하다:

bind -m vi-move '"\e[A": history-search-backward'
bind -m vi-insert '"\e[A": " \e\e[A"'

(위쪽 키가 \e[A이스케이프를 보낸다고 가정)

나는 이것이 (간접적으로) 키를 매크로에 바인딩하는 것 외에는 가능하지 않다고 생각합니다.

관련 정보