다음을 입력하면:
echo "$((1 + 2))"
그런 다음 를 누르면 TabZSH가 내가 입력한 내용을 다음으로 변환합니다.
echo 3
이 동작을 비활성화하려면 어떻게 해야 합니까? 를 누를 때 ZSH가 산술 표현식을 평가하는 것을 원하지 않습니다 Tab.
산술식을 제외한 모든 것을 확장하고 싶습니다.
답변1
원하는 특정 설정은 없지만 다음과 같이 작동합니다.
autoload -Uz compinit
compinit
bindkey '^I' complete-word
zstyle -e ':completion:*' completer '
if [[ $PREFIX$SUFFIX == \$\(\(*\)\) ]]; then
reply=( _complete _ignored )
else
reply=( _expand _complete _ignored )
fi'
이는 단순히 현재 쉘 단어(커서가 있는 단어)가 형식일 때 완성자를 $((…))
사용하지 않도록 완성 시스템에 지시합니다._expand