^P는 zsh에서 작동하지 않습니다. 어디서 찾아야 합니까?

^P는 zsh에서 작동하지 않습니다. 어디서 찾아야 합니까?

bashrc를 복사해서 zsh에 적용하기 시작했는데 갑자기 ^P작동하지 않는 걸 발견하고,

^P화면에 하나만 인쇄 됩니다 .

무엇이 잘못될 수 있나요? 아니면 지금 어디를 봐야 할까요?

답변1

당신은 깨닫지도 못한 채 zsh에서 vi와 같은 키 바인딩을 사용하고 있을 수도 있습니다.

Zsh는 $VISUAL 및 $EDITOR를 확인하여 기본 키보드 모드를 선택합니다. vi-ish(예: "vim")로 보이면 emacs와 같은 바인딩 대신 vi와 같은 바인딩을 선택합니다.

C-p기본적으로 Emacs와 유사한 키 테이블에만 존재하는 바인딩입니다. 분명히 "int"에서 알 수 있듯이 vi의 키 테이블에 있는 원하는 항목에 키를 자유롭게 바인딩할 수도 있습니다. 그러나 대부분의 경우 구성에서 다음을 수행하여 수행할 수 있는 emacs 모드를 원할 것입니다.

bindkey -e

...다른 키보드 관련 구성을 수행하기 전에 하는 것이 좋습니다.

언제나 그렇듯이 zsh 라인 편집기(zle)에 대한 자세한 내용은 다음에서 확인할 수 있습니다.zsh 참조 매뉴얼의 해당 섹션. 기본 모드가 선택되는 방법과 기본적으로 어떤 작업이 다른 키맵의 어떤 키에 바인딩되는지 설명합니다.

답변2

노력하다

bindkey "^P" up-line-or-history

관련 정보