現代のLinuxで素のviを気軽に試す方法はあるのかな?素のviって何だろうな?vimにvi互換モードがあった気がするな?
@zundan Ubuntu とかに昔 pre-install されてた vi(1) は単に vim.tiny なので configuration を落としまくってビルドしただけのただの vim で、trad. vi や POSIX の仕様になる(bash で言う sh 互換モードのような)モードはないです
https://askubuntu.com/questions/104138/what-features-does-vim-tiny-have
@orumin ありがとうございます!
vimにはvi互換モードがあると思います。手元で試してみたところ、Ubuntu 22.04.5 LTSの/usr/bin/vim.tinyでは起動してから:set compatibleすることで多段アンドゥが無効になることを確認できました。(SunOS 4.1.4のviにあった、Ctrl-\でSIGQUITされる動作はありませんでした。) /usr/bin/vim.tiny -Cでは期待通りにならないのが不思議です。起動時に読む設定ファイルのいずれかでnocompatibleされてるのかもしれません。
@zundan なるほど、手元でも試してみます
@zundan ところで、traditional vi の言う vi 3.7 はそもそもそこまでバージョン重ねる以前に Bill Joy がストレージの破損で当時の開発中コード紛失してその後に開発から抜けたりする事件があったはずなので、そこで Sun に入った Bill Joy が居て enhance もあったであろう vi と、BSD や SysV の挙動から POSIX に入った vi 仕様は違う気がします
@orumin はい。僕の思い出の「素のvi」はSunOS 4.1.4についてきたviなのですが、それが歴史上のviの系列のどこに位置していたのかは知らないのです…。その後もstevieとかjviとかnviとか使ってたと思うのですがもう名前も含めて記憶が薄れてますw
たぶんCtrl-\でプロセスにSIGQUITが送られるのは端末の動作で、SunOS 4.1.4のviではSIGQUITをトラップしていなかったのですっこり落ちていたのだろうと理解しています。
@zundan stievie や elvis は vi clone なので外形的な仕様を模した完全独立実装のはずで、nvi は elvis 派生で Free/Net/OpenBSD にバンドルされてるやつ、stievie をさらに Amiga で移植されたやつ派生が vim だったのではないかと