
나는 내가 원하는 zsh
권리를 처리할 수 있도록 성공적으로 사용자 정의했습니다. WORDCHARS
하지만 단어를 건너뛰거나 삭제하거나 자동 완성할 때 각 단어의 시작 부분으로 이동합니다. 대신 단어 끝으로 이동하는 것이 더 좋습니다.
예를 들어 다음 명령에서 backward-word
및 를 사용하여 점프하면 커서가 아래 문자 forward-word
로 표시된 위치로 점프합니다 .^
$ kubectl --context stage --namespace kube-system get pods
^ ^ ^ ^ ^ ^ ^ ^ ^
나는 zsh가 다음과 같이 단어 끝으로 점프하는 것을 훨씬 선호합니다.
$ kubectl --context stage --namespace kube-system get pods
^ ^ ^ ^ ^ ^ ^ ^
구성이 가능한가요?
답변1
여기 있습니다:
# Replace `forward-word` with `emacs-forward-word`. Problem solved.
zle -A emacs-forward-word forward-word
# For `backward-word`, it's a bit more complex. We'll have to
# create a new widget for this.
zle -N backward-word backward-word-end
backward-word-end() {
# Move to the beginning of the current word.
zle .backward-word
# If we're at the beginning of the buffer, we don't need to do
# anything else.
(( CURSOR )) ||
return
# Otherwise, move to the end of the word before the current one.
zle .backward-word
zle .emacs-forward-word
}
이 버전의 에는 backward-word
커서가 단어가 아닌 많은 문자의 오른쪽에 위치할 경우 직관적으로 너무 멀리 점프하는 것처럼 느껴질 수 있는 몇 가지 극단적인 경우가 있습니다. 그러나 위에서 제시한 테스트 사례의 경우 정확하게 작동합니다.
더 나은 단어 이동 및 사용자 정의 옵션을 보려면 내 플러그인을 확인하세요.Zsh 편집.