/
에 포함하지 않으면 WORDCHARS
다음과 같습니다.
WORDCHARS='~!#$%^&*(){}[]<>?.+;-'
그런 다음 kill-word
원하는 대로 작동합니다. Alt+를 사용하면 d파일 시스템 경로의 일부를 제거할 수 있습니다(각각에서 중지 /
).
하지만 Ctrl+ Right및 Ctrl+를 사용할 때 Left다른 동작을 원합니다 . 커서가 각각에서 멈추는 것을 원하지 않습니다 /
. 한마디로 전체 경로를 건너 뛰고 싶습니다.
와 에 다른 값을 사용해 WORDCHARS
도 되나요 ?forward-word
backward-word
답변1
bind
위젯을 사용하여 vi-{back,for}ward-blank-word
다음을 수행할 수 있습니다 Ctrl+{left,right}.
bindkey $'\E[1;5D' vi-backward-blank-word
bindkey $'\E[1;5C' vi-forward-blank-word
또는 {back,for}ward-word
다른 위젯을 사용하도록 위젯을 재정의합니다 WORDCHARS
(예를 들어 해당 위젯을 사용하는 다른 바인딩에 영향을 미칩니다 Alt+{B,F}).
WORDCHARS='~!#$%^&*(){}[]<>?.+;-'
MOTION_WORDCHARS='~!#$%^&*(){}[]<>?.+;-/'
''{back,for}ward-word() WORDCHARS=$MOTION_WORDCHARS zle .$WIDGET
zle -N backward-word
zle -N forward-word
당신은 또한 볼 수 있습니다info zsh select-word-style
프레임워크가 동적으로 선택되도록 활성화폰트.
또한 이를 사용하여 다양한 위젯에 대해 다양한 텍스트 스타일을 선택할 수 있습니다. 예를 들면 다음과 같습니다.
autoload -U select-word-style
zle -N select-word-style
bindkey '\ez' select-word-style
WORDCHARS='~!#$%^&*(){}[]<>?.+;-' # for the "normal" style
select-word-style normal
zstyle ':zle:*ward-word' word-style space
zstyle ':zle:backward-kill-word' word-style space
*ward-word
및 위젯에는 "공백" 기반 텍스트 스타일이 적용되고 backward-kill-word
다른 텍스트 위젯에는 Alt+Z원래 "일반" "공백" 기반 텍스트 스타일이 적용됩니다.$WORDCHARS