Чтобы прочитать строку с выпуском и завершением, вызовите vared
встроенный .
foo='default text'
vared foo
Завершение будет работать так, как если бы вы находились в части значения назначения параметра (потому что это то, что делает vared
). Если вы хотите завершить как обычную командную строку, я думаю, вам нужно возиться с _complete
, чтобы забыть о том, что вы внутри vared
.
zmodload zsh/parameter
autoload +X _complete
functions[_original_complete]=$functions[_complete]
_complete () {
unset 'compstate[vared]'
_original_complete "$@"
}
foo='default text'
vared foo