Этот же вопрос был задан в списке рассылки zsh 23 августа 2004 года: http://www.zsh.org/mla/users/2004/msg00917.html. По крайней мере, я считаю, что это тот же вопрос.Поправьте меня, если я ошибаюсь.
По сути, оболочка bash использует readline для редактирования строк, но zsh использует свой собственный и более мощный zle .
В этом вопросе задается вопрос, можно ли использовать zle для ввода в программу командной строки вместо необходимости писать ее с нуля.
На этот вопрос есть 2 ответа.Один из них говорит:
«Это на самом деле довольно легко сделать. Рабочий пример см. В разделе Функции / Разное / nslookup в дистрибутиве zsh».
Другой ответ получен от оригинального asker ион говорит:
"Если бы только 'preexec' мог получить доступ к BUFFER, запись отредактированной командной строки могла бы быть записана где угодно, но поскольку BUFFER доступен только внутри виджетов завершения, это следует делать с помощью виджета, заменив 'acceptили что-то в этом роде. "
Надеюсь, это поможет.