在zsh vim模式下,替换多个字符时,退格键无法按预期工作

在zsh vim模式下,替换多个字符时,退格键无法按预期工作

我想要执行以下操作:在控制台中,在vim模式下,替换几个字符( vim 命令R),同时能够使用退格键恢复更改。其bash工作原理与以下相同vim

bash
set -o vi
echo "foo bar" <ESC>

现在回退到用 vim 命令说“f”,例如Ff,然后R替换多个字符。我现在可以写例如bar foo,然后我得到

echo "bar foo"

现在按退格键例如三次,然后我明白了

echo "bar bar"

这就是我想要的行为,与 中的行为相同vim。但是,在 中zsh,我可以类似地尝试:

zsh
bindkey -v
echo "foo bar" <ESC>

执行与上面相同的操作,但以以下方式结束:

echo "bar "

简而言之:zsh使用 BACKSPACE 时,替换多个字符的行为无法按预期工作。不是将字符恢复到之前的状态,而是将其删除。

zsh我怎样才能得到与 中相同的行为vim

相关内容