今までずっとEmacsユーザーだったんですが、Vimも楽しそうだったので使い始めてだいたい1ヶ月くらい経ったので感想を書きます。間違っている箇所はあると思います(特に経験が浅いVim)が、EmacsやVimに興味がある人の参考になればと思います。あと飽くまで感想なのでなんか全体的にふわふわしてます。Scriptという言語を実行できます。機能を拡張する形になります。Emacsはエディタというよりは、リッチなI/O機能を持ったEmacsLispインタプリタという印象です。お互いすごい人が便利なelispプログラムやvimプラグインを開発しており、どちらかのプラットフォームで革新的なプログラムがリリースされると、すぐにもう片方で同等のプログラムがリリースされたりします。いう意味ではお互い切磋琢磨しているという様な印象をうけます。(「Emacsは糞、Vim最高!」「Vimは糞、Emacs最高!」みたいな罵り合いは見たことないです。いう状況はあまりないのではないかなと思います。アプリケーションプラットフォームとして見た感想はそんな感じです。Emacsに軍配が上がるのかもしれませんね。EmacsとVimの似たようなプログラムをいくつか表にしてみました。TwitVimキーバインド枯渇問題についてどちらも枯渇するときは枯渇するし、工夫すればなんとかなると思います。EmacsだとAnything-M-xを素早く押せるキーバインドに登録しておけば大体なんとかなるので、Unite.vimでもそんな感じじゃないかと思います。学習コスト一般的なエディタに比べればどっちも大差ないと思います。Vimの「モード」の概念についてEmacsとVimの最大の違いは、操作のスタイルだと思います。どちらもマウスを使わずキーボードで操作が完結するように設計されているという点では同じですが、それを実現するためのベクトルがかなり異なっています。Emacsでは、一般的なエディタと同じように、押したキーの文字がそのまま入力されます。一般的なエディタではツールバーのボタンなどをクリックして何らかの機能を実行する部分が、キーボードで操作できるように、「CtrlやMeta(Alt)などの装飾キーを押しながら特定のキーを押す」という行動をトリガーにして実行できるようになっています。複数のモードを必要に応じて切り替えることでテキスト編集を行います。起動後デフォルトではノーマルモードと呼ばれるモードになっており、その状態のままでは文字入力ができません。文字入力を行うためには、aキーなどを押して挿入モードに切り替える必要があります。入力以外のテキスト編集は、ノーマルモードで行えます。「dd」(dキーを2回連続で押す)と押すと、カーソル位置の行が削除され、行詰めされます。基本的に、このように何らかのキーを連続して押すことで、コマンドを実行します。いう条件が含まれるので、キーバインドが幾分か複雑になります。「CtrlとMetaを押したままaキーを押し、そのあとCtrlとMetaを離したあとで、bを押す」というキー入力を意味します。「挿入モードではC-jkhlでカーソル移動」といったこともできます。Vimのほうが効率良く入力できるのでは、と考えています。逆に、「文字入力」では明らかにEmacsのほうが早いと考えています。バッファ(今開いているファイルのようなもの)に「moge」という文字を入力した場合を想定します。Vimでは、「i(もしくはa)を押して挿入モードに入り、mogeと入力し、その後ESCキーを押してノーマルモードに戻る」という行動が必要になります。その点Emacsでは、「mogeと入力する」という行動で入力が完了します。このことから、単に文字や文章を「入力する」作業では、Emacsのほうが早いのではないかと思います。プログラミングよりは、特に文章編集で顕著に現れるのではと思います。あと、個人的にESCがホームポジションから遠いので「モードから抜ける(ノーマルモードに戻る)」ためのコストが高い気がします。※C-gとかをバインドすればいいんですかね。邪道?EmacsとVimの操作スタイルの違いが、そのまま「何に重きを置いているか」につながっていて面白いな、と思います。Vimのテキスト編集力ぱねぇ個人的に、Vim使って一番感動したのが、テキスト編集です。簡単に言うと、ノーマルモードなどで各種テキスト編集コマンドを実行するときのキーバインドがやばい、のです。テキスト編集関連のキーバインドは、わかりやすく言うと「操作(動詞)・対象・範囲」で構成されており、これら3種類のキーを幾つか覚えるだけで、かなり幅広いテキスト編集が可能になります。dは削除(delete)という操作を、wは単語(word)という対象を、3は3つという範囲を意味します。これらを組み合わせ、「3dw」と入力すると、カーソル位置から3つぶんの単語が削除されます。単純計算なので参考程度にしてほしいのですが、操作と対象のキーを10個覚えるだけで、10^10で100種類のキーバインドが即座に入力できるようになるということですね。数字をその前に打つだけで、範囲拡張も自由自在です。困ったら「C-g」を連打すれば大体なんとかなります。Vimでは、場合によってESCだったりqだったりBSだったりするので、とりあえずこれを連打しておけば安心、的なことができないのでVim初心者としてはこの点をどうにかしたいです。Vim界隈ウェブサイトのおしゃれ感ウェブデザイナーのユーザーが多いのかわかりませんが、Vim界隈のウェブサイトはなんかおしゃれな気がするというかウェブ力が高いというか、そんな気がします。※あくまで個人的な感想ですvim-users.jpとかすごいいい感じですねまとめアプリケーションプラットフォームとしての限界は大差ないように感じるその気になってカスタマイズすれば、VimをEmacs風に使うことも、その逆もできるはずただ、Emacsでは画像表示できるよ一番の違いは、考え方(ポリシー)の違いVimのテキスト編集コマンドがすばらしいつEvil※あくまでVim歴1ヶ月の初心者の感想です。※ツッコミがあればお願いします。はてブに追加この記事をツイートFeedlyで購読supermomongaかなりすごいことでゆうめい。したまちでしらぬものはいない。),;’RubyでGUIアプリを作るならJRuby+JavaFX+Rawrで決まり!automatic.vimでウィンドウの一時的分割をハンドリングしようももんが流NeoBundle管理術Vimと対話せよVimShellが動的プロンプトに対応しました(やばい)ジャズだって聴ける。X(1)homebrew(1)rbenv(1)Evil(1)Mechanize(1)Scraping(1)聴いてるやつ。