zsh(vi 모드)에서 esc를 누른 후 "일반" 편집 모드로 돌아가는 방법은 무엇입니까?

zsh(vi 모드)에서 esc를 누른 후 "일반" 편집 모드로 돌아가는 방법은 무엇입니까?

나는 zsh그것을 사용하고 있습니다 vi-mode.

일반 모드로 들어갔다가 ESC삽입 모드로 돌아가면(예: i, a또는 사용 s) 줄 편집기는 문자 앞의 줄 부분을 "보호"합니다. 이는 삽입 모드로 다시 들어갈 때 있었던 줄 부분입니다. .

백스페이스 문자를 다시 바인딩하여 수정했습니다.

bindkey "^?" backward-delete-char

^W그러나 기본적으로 작동하지 않는 다른 유사한 바인딩이 여전히 있습니다 (아마도 에 바인딩되어 있기 때문일 것입니다 vi-*).

내가 올바르게 이해했다면 이 동작은 정상입니다 vi.

너무 많은 키를 다시 바인딩하지 않고도 zle이와 같이 작동하도록 하는 방법이 있습니까 ?vim

답변1

AFAICT, 문제가 있는 유일한 위젯은 다음과 같습니다.

vi-backward-delete-char
vi-kill-line
vi-backward-kill-word

그래서 당신은 할 수 있습니다

zle -A kill-whole-line vi-kill-line
zle -A backward-kill-word vi-backward-kill-word
zle -A backward-delete-char vi-backward-delete-char

관련 정보