У меня определен следующий виджет
function cdd()
{
cd /
}
zle -N cdd{,}
bindkey "^R" cdd
После нажатия комбинации клавиш cwd уже изменяется, но подсказка терминала не обновляется. Пример, после этого ()
~/tmp/todelete$ | # press key ^R here; "~$" is the prompt; "|" denotes cursor
терминал остается без изменений. Если я тогда наберу ls -ld .
, он покажет
~/tmp/todelete$ ls -ld .
dr-xr-xr-x 23 root root 4096 Sep 14 07:52 ./
/$ |
, что означает, что cwd
во время работы ll
уже /
.
Это очень запутанно и может привести к серьезным ошибкам. (например, если после нажатия ^R
я был прерван, чтобы покинуть свой стол и затем вернуться, я мог бы забыть, что я сделал)
Как разрешить терминалу перерисовывать подсказку после нажатия клавиши? Есть ли zle
функция для этого?