![zsh: `key` -> `terminfo` 사전 정의는 어디에 있습니까?](https://linux55.com/image/9458/zsh%3A%20%60key%60%20-%26gt%3B%20%60terminfo%60%20%EC%82%AC%EC%A0%84%20%EC%A0%95%EC%9D%98%EB%8A%94%20%EC%96%B4%EB%94%94%EC%97%90%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 zsh
현재 내 것을 배우고 구성하고 있습니다 ~/.zshrc
. Archwiki에서 나는 다음을 발견했습니다.과거 검색 동작을 변경하는 스니펫:
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
[[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search
[[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search
그러나 페이지를 검색한 후에도 이 키워드나 사용할 수 있는 매개변수 man
에 대한 문서를 찾을 수 없습니다 . -ing for는 더 이상 정보를 표시하지 않으며 -ing for 항목도 표시하지 않습니다 . 가장 관련성이 높은 일치 항목은 다음과 같습니다 .key
grep
man zshall | grep -i "key.*\["
man zshzle
bindkey
man zshcontrib
...
source ${ZDOTDIR:-$HOME}/.zkbd/$TERM-$VENDOR-$OSTYPE
[[ -n ${key[Left]} ]] && bindkey "${key[Left]}" backward-char
[[ -n ${key[Right]} ]] && bindkey "${key[Right]}" forward-char
# etc.
...
더 많은 예를 찾았습니다.위키피디아그리고Unix.SE에서 @rayandrews의 답변, 매개변수의 전체 목록이 나타나지도 않고 그렇다고 주장되지도 key
않으며 매개변수가 정의된 위치/방법에 대한 설명도 없습니다 key
.
key[...]
자세한 내용 과 사용 방법은 어디에서 확인할 수 있나요 ?
답변1
데비안에는 /etc/zsh/zshrc
다음이 있습니다:
typeset -A key
key=(
BackSpace "${terminfo[kbs]}"
Home "${terminfo[khome]}"
End "${terminfo[kend]}"
Insert "${terminfo[kich1]}"
Delete "${terminfo[kdch1]}"
Up "${terminfo[kcuu1]}"
Down "${terminfo[kcud1]}"
Left "${terminfo[kcub1]}"
Right "${terminfo[kcuf1]}"
PageUp "${terminfo[kpp]}"
PageDown "${terminfo[knp]}"
)
그것은 출신이다그 약속데비안 zsh
패키지 5.0.0-1.
아마도 Arch가 zshrc
데비안에서 복사했을 수도 있습니다. 어쨌든 이것은 업스트림 zsh 배포판의 일부가 아닙니다.
다음을 사용하여 언제든지 해시 정의를 볼 수 있습니다 $key
.
typeset -p key | sed -n l
또는
printf '%q => %q\n' "${(@kv)key}"