紫藤のWiki

最近の更新履歴

Vim

公式ページ

vim online

特徴

  • Viは1975年辺りに登場した、歴史上、ほぼ初めて登場したフルスクリーンテキストエディタである。
  • 開発者はビル・ジョイ。Javaで有名なサン・マイクロシステムズの創立者の一人である。
  • 登場時期はEmacsとほぼ同じで、この辺でコンピュータがディスプレイで画面表示が可能になった、と思われる(それ以前は1行くらいしか表示出来なかったらしい)。
  • Emacsと違い、BSD UNIXで生まれた生粋のUNIXっ子である。
  • Emacsとの文化背景の大きな違いは、EmacsのMIT/Lisp文化べったりに対して、Viは元々Pascal用テキストエディタ、として設計された、との事。
  • そして、BSDのPascalコンパイラの付録品となったが、それがBSDユーザーの間に瞬く間に広がったらしい。
  • モード切り替え、と言う特殊な操作を必要とする。
  • 習得はEmacsに比べても難しいが、一旦覚えると神業のようなタイピング速度を得られる、と言う話。
  • ただし、触感としては、「英語なら問題無いけど日本語混在するとなあ・・・。」と言うのが正直な感想。
  • 逆に言うと、「日本語を殆ど使わない」プログラムを書くのにはある程度向いてる、とは言える。
  • Vi、Vi、と言うが、今現在流通しているのは、正確にはViのクローンであるVim(Vi Improved)と言うエディタ。殆ど本家Viは駆逐されてしまった模様。
  • Vim自体はUNIX生まれではないが、UNIXを模したOSを搭載し、'85〜'94年辺りに存在していたCommodore Amiga上で開発された。後にGNU/Linux等に移植される。
  • Commodore Amigaはデフォルトでメモリが1Mb〜2Mbしか搭載されていないマシンだったので(当時でもメモリは少ない部類のマシンだったと思う)、それで動けた初代Vimはやはり「軽い」部類のアプリケーションだったのだろう。
  • 現在でもVimはこの「軽さ」がウリで、多くのGNU/Linux等の標準テキストエディタとして搭載されている。使い道は「緊急時の」テキストエディタ。
  • 何故なら端末でもラクラク動く、と言うのがVimのVimたる所以。
  • 正確に言うと、VimはEmacsの競合エディタとは思えない。どちらかと言うと性格的には、デスクトップ環境GNOMEの標準テキストエディタgeditや、KDEのKwriteの方が競合してるんじゃないか、と思われる。
  • 現代ではGUI環境が整ったgvimの方がメジャーだと思われるが、依然と本体は端末上で動くvimである。
  • ハッカーと画家ポール・グレアムViユーザーである。

備考

  • 今からviを覚えたい、と言う人には、英語版だがCreamと言うgvim用のスクリプト/アドオンのコレクションが存在する。これがかなりviの敷居を引き下げてくれる、と言う話だ。
  • viは元々Pascal用として作られた為に、Lispとは相性が悪い、と思われているが、実はLispモードも存在する。
    Lispモードは、端末で、
    vim -l
    として起動すれば良い。
  • あるいは、vimの設定ファイル、.vimrc
    
    set nocindent
    set lisp
    set showmatch
    let lisp_rainbow = 1
    
    と書き込めば良い。
  • 最近、vim+SBCL用にLimpと言うツールが登場した。

スクリーンショット

端末で起動したVim。
端末で起動する事が出来るテキストエディタ、と言うのは昨今珍しいタイプである。
X Windowが上手く立ち上がらない場合の設定ファイル弄りにはVimが欠かせなく、またEmacsのように複雑なアプリケーションでも無いので、どんな環境でも安定度は抜群である。

GUI版のVimであるgvim。
だが、殆ど見た目は上の端末版と変わらない。
唯一違うのは、メニューの存在とプルダウンメニューである。
操作性も端末版と違って若干改善されている。

Vimでもチュートリアルが付属している。人呼んで「30分チュートリアル」。
しかしながら、その30分は異様に濃い。脳内パズルの嵐である。
ちなみに起動コマンドは
vimtutor
である。
「EmacsとViってそんなに仲悪く無いんだよ。ほら見て、Emacs内でViって起動出来る程仲良しさ!!!」
と言いたくてやってみたが、文字化けの嵐だった(爆)。なんかおかしな事になってる。
こいつら、本気で仲が悪いらしい(苦笑)。

関連項目