我定义了以下小部件
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
功能吗?