백스페이스 키로 문자를 삭제할 수 있도록 Z 쉘의 vi 모드를 구성할 수 있습니까?앞으로삽입 작업은 어디서 시작되나요?
기본적으로 vim의 동작은 다음 줄을 추가하여 달성할 수 있습니다.~/.vimrc
set backspace=start
– Z 쉘 vi 모드에서 이 기능을 사용할 수 있습니까?
답변1
zsh 구성에 다음을 추가할 수 있습니다.
bindkey -M viins '^?' backward-delete-char
bindkey -M viins '^H' backward-delete-char
설명하다:
Vi 모드사전 구성된 키맵 세트(덩굴,치수 명령,비옵,시각적) 특정 키를 특정 위젯에 바인딩합니다. 이러한 위젯 중 일부는 다음과 같은 방식으로 작동하도록 특별히 설계되었습니다.육편집자는 그렇습니다.
귀하의 경우 이것은 vi-backward-delete-char
기본적으로 바인딩된 Backspace위젯 입니다.덩굴위치를 삭제하지 않고 삽입 모드로 들어가는 특정 기능을 가진 모드입니다.
종종 다음과 같이 더 잘 작동하는 약간 다른 버전의 위젯이 있습니다.이맥스편집하다. 이 경우 backward-delete-char
현재 삽입 세션으로 제한되지 않는 위젯이 됩니다 . 기본적으로 바인딩되어 있지만이맥스 모드, 어떤 모드에서 어떤 위젯을 사용할 수 있는지에 대한 엄격한 제한은 없습니다. backward-delete-char
다음 범위에서 사용할 수 있습니다 .vi 모드Backspace위젯을 호출하려면 다시 바인딩하세요 backward-delete-char
.
^?
두 개의 바인딩이 있는 이유는 ^H
두 개의 키 시퀀스 중 어느 키를 누를 때 전송되는지가 터미널에 따라 다르기 때문입니다 Backspace. 기본적으로 둘 다 동일한 위젯에 바인딩됩니다.vi 모드또한이맥스 모드.