zsh 명령 줄에서 vi 명령 모드로 편안하게 전환하는 방법은 무엇입니까?


19

vi에서는 'jj'를 이스케이프 처리하여 성가신 이스케이프 키를 사용하지 않고 명령 모드로 전환 할 수있게했습니다. 이제는 vi 모드를 사용하는 명령 줄 편집에도 같은 기능을 사용하려고합니다. 나는 이미 다음 해결책을 찾았습니다.

bindkey '^j' vi-cmd-mode

control-j를 사용하여 명령 모드로 변경할 수 있습니다. 여전히 수정 자 키가없는 해결책을 'jj'또는 비슷한 것으로 검색합니다.


4
Caps Lock을 Escape로 다시 매핑하지 않는 이유는 무엇입니까?
kyrias

답변:


26

참고 사항 : man zshzle 커스터마이징에 관한 많은 정보 bindkey 에뮬레이션 GNU readline.

이것이 내가 매핑 한 방법입니다. jjEsc:

bindkey -M viins 'jj' vi-cmd-mode

인서트 모드와 일반 모드를 구별하는 데 관심이 있다면, 아키라에 대한 제안을 시도해 볼 수 있습니다. 이리


네! 완벽하게 작동합니다. 정말 고마워!
Eman Resu

zsh에서이 작업을 수행하기 전에 수행해야 할 전제 조건이 있습니까? 또는 키 바인딩을 디버깅하는 방법은 무엇입니까? 이 명령을 삽입하면 아무 일도 일어나지 않습니다. jj는 여전히 작동하지 않습니다.
UltraMaster

5
KEYTIMEOUT을 너무 낮게 설정했기 때문에 그 이유가 있습니다.
UltraMaster

@Ultramaster는 좋은 지적입니다. 속도를 위해 KEYTIMEOUT을 이미 설정 한 경우 & gt; = 20 밀리 초를 권합니다. 예 : export KEYTIMEOUT=20
craft
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.