다음 작업을 수행하고 싶습니다. 콘솔의 모드에서 백스페이스 키를 사용하여 변경 사항을 되돌리면서 vim
몇 개의 문자(vim 명령)를 바꾸십시오 . 다음과 같은 방식으로 작동 R
합니다 .bash
vim
bash
set -o vi
echo "foo bar" <ESC>
이제 "f"와 같은 vim 명령을 사용하여 여러 문자를 바꾸 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
?