일치하는 대신 ctrl+r 쿼리를 있는 그대로 실행하려면 어떻게 해야 합니까?

일치하는 대신 ctrl+r 쿼리를 있는 그대로 실행하려면 어떻게 해야 합니까?

때로는 셸에서 cmd를 역검색할 때 정확한 일치 항목을 찾을 수 없고 검색 쿼리를 있는 그대로 실행하고 싶을 때도 있습니다.

bash/zsh와 친구들이 입력을 버리지 않고 이를 실행할 수 있는 방법이 있나요?

답변1

zsh에서는 변수를 사용할 수 있습니다LASTSEARCH그리고LASTABORTEDSEARCH. 편집기 위젯 내에서만 사용할 수 있습니다.

에디터 위젯은 에디터 위젯으로 만들어진 기능으로,zle -N이는 키바인딩을 통해 호출됩니다. (키 바인딩은 다음과 같습니다.ESC-x—vi  :모드에서. )

예를 들어 다음 코드 바인딩은 ESC-s현재 명령줄을 마지막 증분 검색으로 바꿉니다. 증분 검색 중 키를 누르면 ESC-s검색이 진행 중입니다(중단됩니다).

function set-buffer-last-search { LBUFFER=$LASTSEARCH; RBUFFER=; }
zle -N set-buffer-last-search
bindkey '\es' set-buffer-last-search

관련 정보