최근에 bash에서 zsh로 전환했습니다. bash(vi 모드)에서 새 명령을 입력할 때 Esc-_(밑줄을 이스케이프 처리하기 위해)를 입력하면 이전 명령의 마지막 인수가 삽입됩니다. zsh에서도 같은 작업을 수행하고 싶습니다. (현재는 신호음만 울립니다.) 원하는 것을 어떻게 얻을 수 있나요?
답변1
ESC-_
-style 키바인딩 과 비슷 emacs
하지만 -style 삽입 모드에도 추가하려면 vi
다음을 수행하세요.
bindkey -M viins '\e_' insert-last-word
(최고 ~/.zshrc
).
_
cmd 모드에서 커서 뒤에 마지막 단어를 삽입하고 삽입 모드로 전환하려는 경우 ( 문서화되지 않은 위젯에서 ) 다음 bash
과 같이 할 수 있습니다.ksh93
vi-yank-arg
bash
vi-yank-arg() {
NUMERIC=1 zle .vi-add-next
zle .insert-last-word
}
zle -N vi-yank-arg
bindkey -M vicmd _ vi-yank-arg
모드와 마찬가지로 emacs
명령의 마지막 단어를 추가합니다( 숫자 인수를 무시하는 $NUMERIC
것처럼bash
보입니다 ksh93
).