zsh forward-wordはbash/emacsとは少し違って動作するので、変更したいと思います。zsh forward-wordの動作をbash/emacsと同じようにするには
すべての相違点の説明の代わりに、bashの段階的な動作を説明します。カーソルを「^」記号としてマークしました。
foo bar --non-needed-param --needed-param^
M-B
foo bar --non-needed-param --needed-^param
M-B
foo bar --non-needed-param --^needed-param
M-B
foo bar --non-needed-^param --needed-param
M-B
foo bar --non-^needed-param --needed-param
M-B
foo bar --^non-needed-param --needed-param
M-B
foo ^bar --non-needed-param --needed-param
M-F
foo bar^ --non-needed-param --needed-param
M-D
foo bar^-needed-param --needed-param
M-D
foo bar^-param --needed-param
M-D
foo bar^ --needed-param
このアルゴリズムは、単語を移動する私のためにそれらの部分を除去するための柔軟でもあります。また、それはemacsにあるので、私はそれに慣れています。私はzshでもそれを見たいと思います。ありがとう。私はまさにその目的のために、私の.zshrc
でこれを持って
感謝を!しかし、実際にはbashとは違った働きをしています(何か間違っていましたか?)。この状況では、 "fo^ooo --bar"、 "Mf"を押すと、すぐにfooooの終わりに行くはずです: "foooo^--bar"、しかし私があなたが示したように有効にしました。これに行く: "foooo -^bar"。実際にこのプラグインのように見えるのは、WORDCHARS = ''をエクスポートするだけです。 –
私の完全なzsh設定は、あなたが望むように動作します - 私は私が私の答えで述べた以上の何かをやったと思います。私のWORDCHARSは実際にはどこに設定されているのかわかりませんが、かなり多くの文字が含まれています:$ WORDCHARSは '*?_-。[]〜= /&;!#$%^(){}'> –
、それが動作するようにしたことを思い出し、それに従って私の答えを更新しました。 –