ホーム » 「vi」タグがついた投稿
タグアーカイブ: vi
viとvimと互換性
viに初めて触れたのは1986年の頃だった。プログラミングの師匠に、Cでコードを書くならviが便利だと勧められたのだ。ところがそもそもviが動く環境がない。どうしたかというと、先輩の下宿に遊びに行くたびにPCを借り、プログラミングの手ほどきを受けるたびにviの使い方も習うという具合だった。自分で自由に使えるようになったのはPC-286v(これもPC-9800の互換PCだ)を買い、MS-DOSで動く互換viを手に入れた1988年だ。
この頃は「MS-DOS SOFTWARE TOOLS」が出て、「MS-DOSを256倍使うための本」が出て、DOS環境をUnix化するのが(個人的な)ブームだった。SOFTWARE TOOLSのおかげで多くのコマンドがUnixぽくなった……が、問題はviだった。
この頃の自分にとってもっとも重要な事は、viがどの程度「本物」に近い動作をするか、ということだった。本物というのはもちろん、Bill Joyが作ったバージョンのviという意味だ。ただ、これを実際に使うことは非常に難しかった。1988年当時、Unixを触るには大学の計算機センターに行って端末の前に座るしかなかったのだ。何しろインターネットはまだ自由に使える時代ではなかったのだ。色々苦労してVAX11/785のアカウントを手に入れるのだが、それにしても徹夜でコードを書けるような環境ではない。そこで自宅のPCで、DOSで動く互換viを使うことになる。
[続きを読む]ZZに見るviの無比性
ZZの話 をするたび、多くの人が「なぜ自分はZZを使わないか」をひどく熱心に語ってくれる。まあ人にはそれぞれ事情があるのだろうから、別に使わないでいるのは自由だと思うし、なんならEmacsを使っていただければよいのではないかと思うのだが……。最新のエピソードは「右手でシフトキーを押せないので大文字のZが押しづらい」という話だった。ちなみに自分は左手をちょっとずらして、左手の小指でシフト、薬指でZを押している。viを使うにあたってホームポジションがずれることに抵抗はない。さもないとhjklでカーソル移動なんてできっこないのだ。
さてまつもとりーさんのブログの追記や前後のTweetを見て、自分なりに「なぜ人はZZを使わないのか」を考えてみた。その結果ひとつの仮説が浮かび上がってきた。それはZZがviを終了させるにあたって、他のエディタにはない特徴があるということだ。
[続きを読む]viのZZのこと
実をいうとZZのことは書かないつもりだったのだが、成り行きで書いた方がいい雰囲気になってきたので書くことにした。viに関する記事は2週間ぐらいのうちに別途公開予定なので、本論はそちらで語りたい。今回は完全に脱線だ。
最近の若い人(まあ自分はそう言う権利はあると思う)は、だいたいviを終了するのに :wq を使う。だがこれには問題がある。ファイルをtouchしてしまうのだ。自分にとっては不用意なtouchは不要なmakeなどにつながるので困るのではないかと思うのだが、近年のコードの管理手法や、必ずしもコンパイルしなければならない訳ではない開発環境や、コンパイルに一晩かかるわけではない強力なマシンの普及などによって、touchされても問題ないという向きなのかなと考えるようになった。が、なんだかよくよく話を聞いてみると「ZZなんて知らない、だいたい:wqと:qと:q!を習うので使い分けている」などというのだ。それはまったく困った話だ。
実際、巷にあふれている入門書や、繰り返し掲載される雑誌の記事などを見ると、viの終了コマンドとして「保存して終了します」などと称して:wq、「書き込まずに強制終了します」と:q!を紹介して終わり、というようなケースが多い。ZZを紹介しないのだ。そういうわけなので、そんなものがあると知らない人が増える一方なのだ。
[続きを読む]