zsh: 이전 명령의 마지막 매개변수 삽입

zsh: 이전 명령의 마지막 매개변수 삽입

최근에 bash에서 zsh로 전환했습니다. bash(vi 모드)에서 새 명령을 입력할 때 Esc-_(밑줄을 이스케이프 처리하기 위해)를 입력하면 이전 명령의 마지막 인수가 삽입됩니다. zsh에서도 같은 작업을 수행하고 싶습니다. (현재는 신호음만 울립니다.) 원하는 것을 어떻게 얻을 수 있나요?

답변1

ESC-_-style 키바인딩 과 비슷 emacs하지만 -style 삽입 모드에도 추가하려면 vi다음을 수행하세요.

bindkey -M viins '\e_' insert-last-word

(최고 ~/.zshrc).

_cmd 모드에서 커서 뒤에 마지막 단어를 삽입하고 삽입 모드로 전환하려는 경우 ( 문서화되지 않은 위젯에서 ) 다음 bash과 같이 할 수 있습니다.ksh93vi-yank-argbash

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).

관련 정보