zsh: kill-word とフォワード-ワード/バック-ワードに異なる WORDCHARS を使用します。

zsh: kill-word とフォワード-ワード/バック-ワードに異なる WORDCHARS を使用します。

/に含めない場合は、WORDCHARS次のようになります。

WORDCHARS='~!#$%^&*(){}[]<>?.+;-'

その後、kill-word必要に応じて動作します。Alt+を使用すると、dファイルシステムパスの一部を削除できます(それぞれ停止/)。

ただし、Ctrl+RightCtrl+を使用するときはLeft別の動作が必要です。カーソルがそれぞれで停止したくありません/。一言でパス全体をスキップしたい。

とに異なる値を使用WORDCHARSできますか?forward-wordbackward-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

おすすめ記事