デフォルトではzsh
で、 CTRL+w そして ALT+Backspace まったく同じ効果があるようです。
どうすれば維持できますか CTRL+w そのまま、そして変化する ALT+Backspace 英数字以外の文字で停止するようにします。
つまり、カーソルが次のコマンドの最後にある場合:echo /aaa/bbb/ccc
、を押します CTRL+w を押しながらecho
を残す必要があります ALT+Backspaceecho /aaa/bbb/
を残す必要があります。
実際、これはzshバインディングにリストされていませんが、bindkey
がyouに対して表示する場合は、にバインドすることで構成できます。定義する関数。
私の答えから作業
zshでスラッシュまたは単語を削除するにはどうすればよいですか?、私はこれを見つけました:
私はリストの誰か(Oliver Kiddle)によって提供されたこのビットを使用します。詳細については、 10月8日月曜日のアーカイブを確認してください: tcsh-backward-delete-Word(){ local WORDCHARS = "$ {WORDCHARS:s#/#} " zle back-delete-Word } control-Wにバインドしています: bindkey '^ W'tcsh-backward-delete-Word しかし、それは明らかに変更できます。 それがあなたが探しているものだと思います、いいえ? [。 ]そのままにしておきたいので、この機能が好きです。
これは、zsh Shell Word分割の変更での$WORDCHARS
の使用例、およびwikiにつながります。
つまり、$WORDCHARS
を独自の関数のローカル変数として使用し、必要に応じて単語を定義し、それを任意のキーにバインドできます。
関数を定義するときは、キーマップとして追加することを忘れないでください。
zle -N tcsh-backward-delete-Word