사용자에게 입력을 요청하는 작은 zsh 스크립트가 있습니다.
#!/usr/bin/env zsh
IFS="$(printf "\n\t")"
printf "${1-query}: " 1>&2
read -r query
echo "${query}"
프롬프트에 무언가를 입력한 다음 화살표 키를 사용하여 돌아가서 편집하려고 하면 ^[[D
. 내 TERM
환경은 xterm
다음과 같습니다. 일반적인 zsh 명령줄처럼 줄 편집을 위해 화살표 키가 제대로 작동하도록 하려면 어떻게 해야 합니까?
setopt
이들 중 하나라도 관련된 경우 출력은 다음과 같습니다.
emacs
noflowcontrol
histexpiredupsfirst
histfindnodups
histignorealldups
histignoredups
histsavenodups
histverify
incappendhistory
interactive
interactivecomments
monitor
nonomatch
promptsubst
shinstdin
zle
답변1
링크된 댓글을 토대로이 답변, 나는 배웠다 vared
. 이것이 제가 큰 효과를 내기 위해 사용하는 것입니다:
#!/usr/bin/env zsh
IFS="$(printf "\n\t")"
query=
vared -p "${1-query}: " query
echo "${query}"