まえの記事で, zsh のコマンドライン エディタで Alt-f とか Alt-b とかに割り当ててある forward-word なんかの「word 系」コマンドを使ったときに, 大部分の非アルファベット文字を skip してしまい, 事実上 word delimiter でしか止まらないのが具合悪すぎ, と書きまして, その理由が全然ワカンネ, としたわけですが, 理由が判明したので書きます.
zsh users な ml で質問したら, 速攻で答えが帰って来ました. 質問は,
forward-word などのコマンドの動作は, ほとんどの 非アルファベット文字で 止まらない. emacs 一族あるいは tcsh や bash などと全く違うので, 非常に奇妙な印象を受ける. なぜこのようなデフォルトを選択したのか?
で, その理由は
というものだった.
デフォルトを選ぶ方針は適切なものだし, WORDCHARS の値は, その方針に沿ったものだから, 実は, 特に不都合なものではない. むしろ原因は, どっちかというと, わしが馬鹿なシェルの振舞を知らなかった, というところにあるわけだ. つうか, 昔の BSD でシェルがどういう振舞をしてたかなんて, そりゃ知るわけねえだろ?
そろそろ, 古く簡素な環境の基準を普通の bash くらいに してはどうか? とも思わぬでもない