Recommended
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
PDF
PDF
PPT
PDF
PPTX
ITコミュニティと情報発信に共通する成長と貢献の要素
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
PDF
ネットワークエンジニアはどこでウデマエをみがくのか?
PPTX
なぜコンピュータを学ばなければならないのか 21世紀の君主論
PPTX
PDF
PDF
PDF
Unityではじめるオープンワールド制作 エンジニア編
PDF
PDF
PDF
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
PDF
Unity開発で使える設計の話+Zenjectの紹介
PDF
PDF
Cognitive Complexity でコードの複雑さを定量的に計測しよう
PPTX
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
PDF
PPTX
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
PDF
PDF
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
PDF
PDF
More Related Content
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
PDF
PDF
PPT
PDF
PPTX
ITコミュニティと情報発信に共通する成長と貢献の要素
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
PDF
ネットワークエンジニアはどこでウデマエをみがくのか?
What's hot
PPTX
なぜコンピュータを学ばなければならないのか 21世紀の君主論
PPTX
PDF
PDF
PDF
Unityではじめるオープンワールド制作 エンジニア編
PDF
PDF
PDF
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
PDF
Unity開発で使える設計の話+Zenjectの紹介
PDF
PDF
Cognitive Complexity でコードの複雑さを定量的に計測しよう
PPTX
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
PDF
PPTX
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
PDF
PDF
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
Similar to Vimから見たemacs
PDF
PDF
PDF
PDF
PDF
PPT
PDF
DevEnv Tryit.vim Phrase.vim
PDF
PDF
Nagoya vim #1 about plugins
KEY
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
PDF
PDF
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1
PDF
PDF
PDF
PDF
PDF
PDF
10分で作るScala開発環境 using vim
PDF
More from Shougo
PDF
ODP
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
ODP
PDF
deoplete: The dark powered auto completion plugin for neovim
PDF
PDF
PDF
An introduction to neocomplete
ODP
ODP
Ultimate completion environment with neocomplcache in vim
Vimから見たemacs 1. 2. 自己紹介
● Vimmer 枠の ShougoMatsu です
● 職業:普通のサラリーマン
● Vim/Emacs 勉強会と聞いてやって来ました
● 日本では珍しい重度の Vim 病患者なので、
「Vim」とつぶやいていないと調子が悪くなります
3. 作ってきたプラグイン
● auto-complete.el → neocomplcache
● Dired.el, direx.el → vimfiler
● anything.el(helm.el) → unite.vim
● eshell → vimshell
● package.el, el-get → neobundle.vim
● hexl-mode (?) → vinarise
4. このスライドの目的
● Vim と Emacs にはそれぞれ良いところと悪いとこ
ろがある
● Vim と Emacs の文化を知り、相互理解を深めたい
● スライドの内容は @ShougoMatsu の独断と偏見
に満ちています。これが Vimmer の総意だと勘違
いしないでください。
5. O Vim キーマッピング
● Emacs はモードが無いのでキーバインドが複雑
● 私には、<C-c> <C-x> … とか押せない
● Emacs だとカーソル移動時にコントロールを押し
忘れて泣けることがある
● ただし、Vim もインサートモードのキーマッピングは
Emacs 並に足りない
● つまり、 Vim はインサートモードで Emacs と戦うと
圧倒的に不利
6. O Emacs スクリプト言語
● Vim script はよく批判される
● 例: 無名関数がない、オブジェクト指向がやりづら
い、ライブラリの欠如、コマンドと関数の混
在、eval(:execute) の多用、組み込み機能をカスタ
マイズしづらい etc...
● とはいえ、Emacs Lisp が Vim script よりも圧倒的
に優れているわけではない
7. O Vim ファイル編集能力
● Vim のモードは高速にファイルを編集するため
● Vim のファイル編集能力は圧倒的
● 気分は人間フィルタ
● 自分もそれほど使いこなせているわけではない
● 「詰め Vi(Vim)」 はあるが、「詰め Emacs」は見た
ことがない
● おそらく思想の違い
8. O Emacs 拡張性
● テキストエディタの枠を超えた圧倒的な拡張性
● 最初から拡張することを考えられている
● Vim の場合はスクリプト言語が後付け
● 組み込み機能の自由自在なカスタマイズ
● 本体の機能が Emacs Lisp で記述されている
● ただし、パフォーマンスが犠牲になっている
9. O Vim コミュニティ
● Vim の方がコミュニティの力がある(日本での話)
● Vim-users.jp, vim-jp
● Vim 本体で貢献する日本人の存在
● Emacs の場合、個人で活動している人はいるが、あ
まりまとまっていない印象
● ただ、これから Emacs のコミュニティも活性化する
かも?
10. O Emacs 非同期通信
● Emacs は標準で非同期通信が可能
● 標準添付されている Emacs でも非同期通信は多
用されている
● エディタ内で引きこもるには必須の機能
● Deferred.el, concurrent.el 等の補助ライブラリ
● Vim の場合、Python 等の外部インタフェースや
vimproc を使用しないといけない
11. O Vim 正規表現
● Emacs の正規表現はエスケープが多い
● Vim の正規表現は '' を用いるとエスケープがいら
ない
● ただし、(, ), ?, + はなれない人は戸惑うらし
い
● 更に、先読みや後読みが書きやすい
12. O Emacs 標準添付プラグイン
● Emacs は標準添付プラグインが豊富
● Eshell, org-mode, tramp, dired, ...
● 節操がない、とも言える
● Vim の場合、標準添付プラグインは殆ど無い
● ほとんどの場合、組み込み機能でやってしまうため
13. O Vim ユーザ数
● Vim の方がユーザ数が多い
● ただし、普通のエディタの代わりに使う人も相当数
いる
● Emacs の方が全体的なレベルは高い印象
● Vim はあまり設定しなくても動くから?
14. O Emacs 日本語入力
● 日本語入力はモードとの相性が悪い
● Emacs は日本語入力用のフロントエンドも充実し
ている
● Emacs は日本語入力中にカーソル移動ができる
● Emacs には Org-mode もある
15. O Vim シンタックスハイライト
● Vim のシンタックスハイライトは 300 種類を超える
● シンタックスハイライトの文法もやたらと高機能
● 自分が Vim を使い始めたのはシンタックスハイラ
イトの充実があったから
16. O Emacs 開発安定性
● 一時期リリースが不定期だったが、最近のEmacs
は開発がコミュニティベースで安定している
● Vim もコミュニティベースだが、パッチを当ててリ
リースするのは原作者の Bram Moolenaar 氏
● いつリリースされるかはBram氏にしかわからない
● Vim のソースコードを読める人・パッチを書く人が
少ない
● ただし、Vim には日本人の貢献も数多い(多言語
対応・オムニ補完)
17. O Vim インデント
● Vim はなぜかインデントの設定がやたらと多い
● 標準のインデントプラグインも充実している
● 自作するのも難しくはない
● Emacs はインデント設定で苦労している人が多い
印象がある
18. O Emacs フォント
● Emacs は任意の位置でフォントを自由自在に変更
できる
● もはやワープロのようである
● Vim は等幅フォントのみ。一部フォントを変更できる
が制限が多い
● Web ブラウザやプレゼンテーションツールを実現す
るには必須の機能
● プログラマ用のエディタとして考えると必須機能で
はない
19. O Vim パフォーマンス
● Vim が(ある程度)拡張性を犠牲にしても、組み込
み機能を重視する理由
● ほとんどの機能が組み込みなので組み込み機能は
圧倒的なパフォーマンスを誇る
● 単純なエディタとしてみた場合、速度はとても重要
● ただし、 Vim script の実行速度が高速なわけでは
ない
20. O Emacs 画像表示
● 個人的に、Emacs の羨ましい機能で 1, 2を争う
● エディタとして考えるといらない
● エディタとして考えないとほしい
● まずは誰かパッチを書いてくれる人がいないかと
思っている
21. O Vim 互換性
● Vim は上位互換性をとても重視している
● 10 年以上前の Vim スクリプトが動作
● 基本的に機能は削られない(非推奨になることは
ある)
● Emacs はバージョンアップ時に関数が消えている
……
● Vimでは、新機能を使う時くらいしかバージョン
チェックすることはない
22. O Emacs シェル連携
● 標準で、shell-mode, eshell, term とやたらとたく
さんある
● Emacs から出ない生活の実現
● Vim でもプラグインを導入すれば可能。しかし標準
では無理
23. まとめ
● Vim は開発用の機能、Emacs は開発以外の機能
に優れている
● Emacs はバージョンアップ時に PDF を見れるよう
になったりするので、もはや訳分からないことになっ
ている
● どっちがよいかはもはや個人の好み
● 個人的には Emacs の機能も羨ましい
● 不満があったら Vim script を書いたほうが速いの
で Emacs に移る気はない
24. 終わりに
● 最近 Sublime なんとか、や Eclipse などが現れて
きていますが……
● 「IDEとどう戦うのか」
● Vim と Emacs はこれからも良きライバルになって
行きましょう
● そして Emacs の良い所は Vim にも取り込んでい
きたい