22/07/29 01:34:33.73 .net
:h vim9script読んだけど、vi互換のために譲歩したとの記述が未だに目立つな
歴史的に"vi"なんて山ほどあったはずだが、一体どのviなんだよ、と
まあIEEE/posixで定義された架空のvi、
URLリンク(pubs.opengroup.org)
URLリンク(pubs.opengroup.org)
なんだろうけど、対話アプリケーションにUIの細部まで決める事自体が異質な感じがするんだが
本当にそこまで意識して使ってる/規定されてないと困るなんて人なんて存在するのかね?
折返し行は~で示す、折返し無しビジュアル選択でスクリーンに収まらない行には@で示す、論理行でなく表示行スクロール時の計算式まで明示とかポータビリティに一切関係なくね?
もちろんvimに非が無いとは言わない、[no]compatibleはcpoを弄ってホンシツ的にviのまま拡張を繰り返した
独立したvi互換モードと(微妙な)互換性を捨てたvimモードを分けでりゃ良かったんだよ
viとしても使えるという売り文句なら、それで満たせるだろ
よく非直感的だと不評を買うsetのパースも変更できないから、let &optのような変種を大量に生み出すことになってしまった(map等もそうだけど、未解決)
コマンド短縮ルールと一文字記号名のコマンドの継承で、短い一等地なコマンド名はほぼ占拠されてしまった
例えば|(パイプ、カラム移動)や#コマンド、ほぼ全ての記号がコマンドとして予約されてしまってるのがvimscriptの可読性の悪さの根源
|に至っては記号足りねーからセパレータにも流用して文法に曖昧性を産んだ
nviも触ってたが、一番普及してるだろうviであるvimへの贔屓は感じられるのでそこはまあ、有り難いと思う
:py3とか:perlとか組み込み拡張言語やバインディングも用意したけど、システムや別に入れた既存の処理系そのまま使えないことが多々、結局独自ビルドの処理系内蔵してバイナリ膨れ上がって衰退(vim9scriptのrationaleにも言葉を濁して触れてる)
vi風味を残しつつも後方互換性をスッパリ切った独自言語が必要な事は確かだが、俺にはそれがvim9scriptだとは思えない、vim10に期待…