テキストエディタVim、30周年を迎える 109
ストーリー by nagazou
30周年 部門より
30周年 部門より
今年はiPodが誕生から20周年、Windows XPも20周年、Happy Hacking Keyboardも25周年を迎える中、開発者の間で使われてきた老舗テキストエディタ「Vim」は30周年を迎えたそうだ。Vimの生みの親であるBram Moolenaa氏は公式サイトで、Vimはかつてないほど人気が高まっているとし、Vim 9の開発状況について触れている。現在、10-100倍速く高速に実行できる新しいVimスクリプト関数を開発中だという。ただ完成するまでには時間がかかりそうだともしている(Happy birthday!、GIGAZINE)。
30周年を迎えたことでVimが使われ続ける理由などを考察した記事も出ている。ソフトウェア開発者のAlex Baldwin氏は、マウス無し・キーボードのみで操作できることやドットを入力するだけで直前の変更を繰り返せる「.(ドット)」コマンドの利便性が高いこと、エディター内に統合されたシェルコマンド、バッファ機能などを上げている。TECH+の記事でもWin/Mac/Linuxなど幅広い環境で動かすことができ、リソースの限られた環境でもVimなら動かすことができるという安心感などを理由として上げている(Simple Thread、TECH+)。
30周年を迎えたことでVimが使われ続ける理由などを考察した記事も出ている。ソフトウェア開発者のAlex Baldwin氏は、マウス無し・キーボードのみで操作できることやドットを入力するだけで直前の変更を繰り返せる「.(ドット)」コマンドの利便性が高いこと、エディター内に統合されたシェルコマンド、バッファ機能などを上げている。TECH+の記事でもWin/Mac/Linuxなど幅広い環境で動かすことができ、リソースの限られた環境でもVimなら動かすことができるという安心感などを理由として上げている(Simple Thread、TECH+)。
感謝。 (スコア:5, すばらしい洞察)
日本語対応VIMの普及に尽力したKaoriyaさんにここで感謝したい
Windows環境では昔から自分の好み・用途に合うエディターがみつからない
(作者の名誉のために言っておきますが、エディターが悪いわけではありません)
ので まず初期設定でSendToにVIM(管理者権限)を入れています
Re:感謝。 (スコア:1)
Vim5から先は、いわゆるKaoriya版で一気に人が増えた気がするな。
日本語(というかアスキー以外)未対応だった vim4まではCOR.さんの移植+日本語対応で使えるようになった面も大きい。
COR.さんが直接書いてたのは vim3までだったと記憶してるが、細かい経緯はわからん。
Vim3 が出るまでは、マルチバッファ編集対応のXvi と機能の多いVim2.0の併用だったが、マルチバッファ対応した、Vim3からは一本に絞れたんだよな。
このワード検索 (スコア:1)
*/# の「このワード検索」も . 「繰り返し」にならんで vim から離れられない双璧だと
思っているんだけど みなさんも嵌ってますか?
emacs (スコア:0)
どうして差がついたのか…慢心、環境の違い
Re:emacs (スコア:5, 興味深い)
マルチウインドウなGUI環境が普及したことにより、エディタが頑張らなくても
複数ファイルをまたがった編集がやりやすくなったことと、
eclipseなどのOSSなIDEの出現により、ソフト開発環境的なニーズを持ってかれたことが大きいかな。
何よりも最近の事情としては VSCode に持ってかれた感が強いけど。
私自身、単発の設定ファイルの編集はvi、ソースコードとかまとまったテキスト書きはemacsと使い分けてたけど、
最近は後者には VSCode使うことがほとんどで、おかげでemacs使うことがほとんどなくなってしまった。
なお、年寄なのであくまで emacs の対抗軸は vi です。
vim は単なるvi clone としてしか使ってないんで、vimスクリプト関数とか言われてもピンとこない口。
Re: (スコア:0)
これな。
もう全部VSCodeでいいやってなってる。
最後の砦がemacsキーバインドだけど、そのうちVSCodeのデフォルトでいいやってなりそう。
Re: (スコア:0)
>なお、年寄なのであくまで emacs の対抗軸は vi です。
若者なのであくまで emacs の対抗軸は evil です。
Re: (スコア:0)
VSCodeだとESCを割り当てられないんだよね
Re: (スコア:0)
マウスに触れずに複数ファイルの編集するにはマルチウィンドウなGUIよりemacsのほうが楽でしょう。
Re:emacs (スコア:1)
// その点でもVSCODEに負けてるらしいが…
Re: (スコア:0)
いや、emacs でもできるんよ?
でもいろんなパッケージがあって、
どれ使っていいの?
どれも微妙にくせがあるね?
ってなる。
Re: (スコア:0)
emacsはテキストエディタとしては多機能すぎて操作が複雑で敷居が高い、利用目的が違うと思います
あちこちのサーバーを使う時に、いちいち環境整えるわけにも行かないので結局デフォルトで使えるvimが便利ですね
Re: (スコア:0)
>多機能すぎて操作が複雑で敷居が高い
vimがemacsより優れてるところはいろいろあるんだろうけど、この3つの点に限ってはemacsをあげつらう資格はないと思うなあ。
>デフォルトで使える
viならどこにでもあるというのなら分かるけど、今はvimがデフォルトなのか……。
Re: (スコア:0)
むしろviがどこにでもあるという感覚がわからない。
今はもうフリーなんだっけ?
vimはshに対するbashのような感覚。
Re: (スコア:0)
どこにでも入ってるのは nvi じゃないかな。BSDライセンス。
(オリジナルの vi(ビル・ジョイ版) は AT&Tライセンスが必要)
Re: (スコア:0)
どこにでもあるように思ってるといつの間にか消えてしまうこともあるのです
https://bugs.gentoo.org/690102 [gentoo.org]
nvi2 [github.com]がLinuxでビルドできるようになったのでいつかGentooというかPortageにくわわるだろうか。
Re: (スコア:0)
>むしろviがどこにでもあるという感覚がわからない。
千台未満のサーバー動いてるDCで、Red Hat,CentOS,HP-UX,Soralisいくつかのバージョン動いてるけどどこでも vi 使えて便利。
だいたい中身は vim 。
Re: (スコア:0)
HP-UXとかSolarisとかの商用unixでは、本家viかnviのどちらかでは。
OSSサポートパッケージみたいなの入れると vim も選べると思うけど。
RedHat/CentOSなどのlinuxは、nviかvimでしょうね。
昔はnviがデフォルトでvimを追加して切り替えられるような感じだった気が...
Re: (スコア:0)
確か、Archのインストーラに入っているviがまさにオリジナルだった気がする。
vimに慣れてるととんでもなく使いにくく感じる。
Re: (スコア:0)
これ、よく言う人いるけど、機能面ってそんなに違うかな?
デフォルト状態ならほぼ一緒のような…
操作だって複雑だよ、viだって。一般人からみれば。
むしろvimだと日本語入力とモード切り替えの相性悪すぎて不便だった記憶しかないけど
ソース書く以外に常用して人いないんじゃないかな、とは思う。
#結局vscode
Re: (スコア:0)
nanoはどうなの?
Re: (スコア:0)
次世代vi
Re: (スコア:0)
$ sudo apt uninstall nano
インストール後に最初に行う儀式
これしとかないと vipw とか不便でならん
Re:emacs (スコア:1)
シングルユーザーだと、あんまり気にせんでいいのかもしれんけど、nanoは消さずに
update-alternatives --config editor
しとくほうがいいぞ。
Re: (スコア:0)
viは最低限の操作が身についたけど、emacsは覚えられなかったな。
Re: (スコア:0)
単純に信仰心の違いじゃない?
Re: (スコア:0)
ctlをどこに置いても小指が痛い
マジで最大要因だと思う
Re: (スコア:0)
Sun4全盛期にEmacs禁止令が出て以来viしか使えない体になってしまいました。
当時としては、リソース食いまくりだったので仕方ない側面もありますが、vt220互換ターミナルしか使えないので、マルチウィンドウが使えない当時のviはきつかった。
Re: (スコア:0)
スラドがhjklで操作出来るのにfbnpでは操作出来ないのが悪い(yatsuatari-mode)
Re: (スコア:0)
viがvimに吸収されたように、emacsはvscodeなどの統合環境に移行しただけ。
vscodeとか明らかにviとは概念的に違うよね?
viのエディットモードとコマンドモードを切り替えながらコーディングするスタイルって、やっぱり初期の学習コストが高過ぎだし、
最近の子ってマウスでコピペしたいって人が異様に多いのも逆風だと思う
Re: (スコア:0)
別に差がついたとも思わないけど
使い始めに
「まず何らかのエディタで.emacsを作っておきます」
というチュートリアルだったのが衝撃だった。
クセになる (スコア:0)
キー操作。
カーソル移動だけでも、覚えるまでは何でこのキーなん?と思うけど、覚えたら指がウズウズして欲してる。
ヤバいで、コレ。逃げられへん。
Re: (スコア:0)
infoよりはman派やま
オッサン向け (スコア:0)
昔から vi 使っているオッサンは vim でいいだろうし、
VSCode でも vim プラグイン入れて使っていればいいと思う。
だが、若い子にはお勧めしないなぁ…
確かに入力効率よくて便利なのは認めますが、
vi の操作に慣れすぎると他のエディタが使えなくなってしまうのが難点。
Re: (スコア:0)
むしろ、vimに、LSPを接続するプラグインが出てたと思う
(自分はまだvim派じゃないが、出てるのは気付いてた)
使ってる人、感想はいかが?
Re: (スコア:0)
これかなぁ
昔なら
・nanoしか使えないとか素人かよ
・webminでしか設定できないとかありえんだろ
・conf見ていじれなくてどうすんだよ
とかが当たり前の罵声でしたが
今みたいにVPSとかブラウザで設定が当たり前になってくると
vi使えん半人前みたいな時代じゃないって感じなのではないかと
# 弊害として本質的構造を理解できない管理者が増えるが、、、
最強のvim環境を手に入れよう! これだけは入れておきたいプラグイン 2021 (スコア:0)
こういうのに疲れてしまったよ
簡単な作業をするには良いエディタだと今でも思うが、何でもかんでもvimでやれるぞ!てのは違うよなあ
丁度良い、誰か教えてくれ (スコア:0)
最近、
% vi foo
Error detected while processing /home/hogehoge/.virc:
line 22:
E319: Sorry, the command is not available in this version: syntax off
Press ENTER or type command to continue
てのが出るようになったんだけど、なんで?
ちなみに、
で、OS は Fedora 33, /etc/virc は鬱陶しいので削除している。
vi使いだったが・・・ (スコア:0)
viとvimの違いがわからない
最近のlinux系だとviがvimにリンクされているらしいけど
本家viが派生vimに喰われたってこと?
Re:vi使いだったが・・・ (スコア:1)
nviは、編集対象ファイルのみを変更し、そのファイルがあるディレクトリを変更しません。
一方,vimは、ファイルを編集しようとすると、ディレクトリにワークファイルを作るので、
ディレクトリが変更されてしまいます。
だから、vimを使ってソースツリーを読んでいくと、片っ端からソースツリーが汚れます。
nviは、ファイルを変更しない限り、ソースツリーが書き換えられることはありません。
Re: (スコア:0)
全然使い込んでない私の場合、viもvimも一緒にみえる。
emacsもvscodeも、ちょっと操作が違うぐらいで同じ。
色々な機能を使いこなしてから、熱く語れって感じかな。
プロの料理人だったら包丁にもこだわりあるんだろうけど、
時々家で林檎むいたりする程度の私は、切れりゃなんでも一緒
# なんか書いててちょっとむなしくなった
Re: (スコア:0)
emacsはその果物ナイフを使うのにも適切な刃や柄、果てはその材料を選択して下さいって言われるのが面倒なイメージ。
VSCodeは果物ナイフが欲しければ拡張機能って棚を探すとすぐ見つかってすぐ使える。
自分の中では割とこのくらい違うイメージかな。
Re: (スコア:0)
別コメでも出てたけど、(ビル・ジョイの)本家viはAT&Tライセンスで、清く正しいunixにしか入っていない。
FreeBSDとか4.4BSD以降のunixではBSDライセンスで再実装されたnviの方が「vi」になってるんじゃないかな。
で、linuxの場合は(ライセンス的に)本家viを入れる余地がないので「喰われた」わけではない。
そもそもvi cloneである nvi か vim が viの実体になってるはず。
ref: https://zenn.dev/kusaremkn/articles/21c21b3548092e [zenn.dev]
Re: (スコア:0)
オリジナルのviは1970年代末のBSDに初めてバンドルされたもので、21世紀に入るまでオープンソース化されていなかった為、クローンがいくつも作られていた。商業系Unixは今でもオリジナルのviのコードをベースにしたviをデフォルトにしていることもあるけど、オープンソース系は概ねクローンのうちどれかを"vi"と呼んでインストールしている。で、林立していたviクローンのうち新機能の実装に一番熱心で、結果として一番成功したのがvim。vimの機能・操作系は基本的にはviの拡張版なので、伝統的なviのコマンド類を知ってればvimの中でも一応最低限の仕事は出来る。
まあ要するにbashとBourne shellの関係とほぼ同じ。
vi系の存在意義 (スコア:0)
viって余程変なシステムでない限り入っているから
・ネットに繋げない
・別途インストール不可
・USBメモリ含めストレージ接続不可
みたいな状況でも対処できるように
鯖管といえばvi
みたいなお約束だったなぁと
時代が進んでこの手の縛りは減ってきているっていうのもあるんですかね
# AWS案件で上記制限出されたら密林探検隊を結成するのだろうか
VimもEmacsもVscodeも使っているけど (スコア:0)
Windows環境限定ならやっぱり秀丸(のWS配列)が最強
いまだに編集ウインドウを細かく分割するとかあたまおかしい
/etcを編集するのには vi/vim には同意
Re: (スコア:0)
だから君、禿げてるんだね
ローグライクゲームでは (スコア:0)
移動はhjklbnyuでないと落ち着かない、vi使いでもなんでもないけど。
コードや普段文章書きはもうすっかりVSCode、かろうじてキーバインドをemacsにしてるけど割と他のデフォルトVSCodeキーバインド食っちゃうので無効にしようかどうか少し悩み中。
VSCodeはあと2画面ファイラが付いてくれると個人的には完璧なんだけどなあ。
一方、Excelは・・ (スコア:0)
Excel「30歳の若手に負けぬようがんばろう(VBAという劇薬を飲んで...)」
Re:シンプルなvi希望 (スコア:1)
ちょっとヘルプを読んでから試さずに書いてるんですけど
set compatible
を入れればviに極力近い状態になるのではないでしょうか?
ヘルプ曰く
> VimをなるべくVi互換にするか、便利な機能を使えるようにするかを決定する。
> これは、特別な種類のオプションである。このオプションの値が変更される
> と、それに伴って他のオプションも変更されるからだ。