はじめに
突然ですが、皆さんはエディタのviやvimをご存じでしょうか?
まぁ大半の人は一度くらい触れたことがあるはずですのでご存知かと思います。
本やドキュメント、様々な場所でこれらのコマンドを見かけますが、その所々でviであったりvimであったりします。
しかしながら、実際に実行してみると似たようなインターフェースで似たような機能があります。
今回の記事ではこのviとvimについて書いていきます。
viとvimの違い
viは、1976年にBill Joyによって開発された歴史のあるエディタで、Unixオペレーティングシステムの標準エディタとして広く使用されてきました。
一方、vimは「Vi IMproved」の略で、1991年にBram Moolenaarによって開発されたviの拡張版です。
vimはviのすべての機能を持ちながら、さらに多くの機能や改良が加えられています。
シンタックスハイライトや自動補完、拡張機能的なものがそれですね。
viとvimって区別しなくてよくない?
商用Unixを使う機会はほとんどなく、Linuxを利用する限りにおいて、viもvimも基本操作はほぼ同じなので、区別しなくても困ることは特筆ないでしょう。
しかし、実際にはviとvimは別物であって、そのことは一部のBSDユーザーにとってめちゃ重要らしいです。
とはいえ、一般ユーザーにとっては、viとvimの違いを気にするよりも、自分が使いやすいエディタを選ぶことが大切な気がします。
ちなみに、Ubuntuにおいてはviとvimの実態は全く一緒だったりします。
# vim
chan-mai@test-sandbox-007:~# which vim
/usr/bin/vim
chan-mai@test-sandbox-007:~# ls -hl /usr/bin/vim
lrwxrwxrwx 1 root root 21 Nov 23 2023 /usr/bin/vim -> /etc/alternatives/vim
chan-mai@test-sandbox-007:~# ls -hl /etc/alternatives/vim
lrwxrwxrwx 1 root root 18 Nov 23 2023 /etc/alternatives/vim -> /usr/bin/vim.basic
# vi
chan-mai@test-sandbox-007:~# which vi
/usr/bin/vi
chan-mai@test-sandbox-007:~# ls -hl /usr/bin/vi
lrwxrwxrwx 1 root root 20 Nov 23 2023 /usr/bin/vi -> /etc/alternatives/vi
chan-mai@test-sandbox-007:~# ls -hl /etc/alternatives/vi
lrwxrwxrwx 1 root root 18 Nov 23 2023 /etc/alternatives/vi -> /usr/bin/vim.basic
どちらも/usr/bin/vim.basic
を参照してるんですよね。
これといったソースはありませんが、最近の環境だとエイリアス張ってるだけの偽物viは結構あるように思えます。
どっちを使うべき?
どっちでもいいです。好きな方を使ってください。
「viを使っているつもりが、実はvimだった」みたいなこと、割とよくありますからね。
さいごに
結局のところ、viとvimをそこまで厳密に区別する必要はないように私は思います。
最近だと、VScodeやらJETBRAINS IDEやらばっかで、そもそもvimを触ったことすら無い人も結構居るのではないでしょうか。
慣れてしまえばちょっとvimもいいんですけどね。
「viのつもりでvimを使うと互換ない部分もあるから~」みたいなことを言っているクラスタにおいては区別をした方がいいかもしれません。
おそらく燃えます。
それでは。