More Related Content
PDF
PDF
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜 ODP
PDF
ODP
Ultimate completion environment with neocomplcache in vim PDF
PDF
What's hot
PDF
PDF
PDF
かなりすごい発表(かなり) at VimConf2014 PPTX
PPTX
PDF
PDF
PDF
すごいVimでhaskellを書こう@なごやまつり PDF
PDF
PDF
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version) PDF
PDF
PDF
PDF
PPTX
ODP
PDF
Php beginnerが beginner + になるための話 PPTX
Web based 3D video streaming system “Depstreamer(仮)” PDF
Similar to Vim = VM
PDF
PDF
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理 PDF
10分で作るScala開発環境 using vim PPTX
PDF
Nagoya vim #1 about plugins PPT
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1 PDF
PPTX
PDF
PPTX
PDF
PDF
PDF
PPT
PDF
PDF
PDF
PDF
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
An introduction to neocomplete Vim = VM
- 1.
- 2.
自己紹介
ハンドルネーム:Shougo
Vim大好き
CPUやOSの話も好きです
職業:学生
Vim歴:4年
私の.vimrcは1576行あるぞ!(コメントを除く)
- 3.
- 4.
- 5.
まじめな解説
アプリケーション アプリケーション
アプリ アプリ
ケーション VMM ケーション
ホストOS ホストOS
ハードウェア ハードウェア
Type II VMM Vimmer's Environment
- 6.
「Vimは環境」
Vimはマルチプラットフォーム
Vimさえあれば、その上で様々なアプリケーション
が動作する
例: テトリス, Twitterクライアント, シェル, 端末
辞書ビューワ, ファイラー
よって、Vim = VMの式がなりたつ
- 7.
Vimの低レベルレイヤー
VimはVim Scriptで拡張が可能
Vim ScriptはOS用語でいえばDevice Driver
それでも実現不能な場合は外部ライブラリを用い
るか、ソース本体にパッチを当てる
ソースにパッチ = カーネルそのものを書き換え
外部ライブラリ = カーネルモジュール
各々で読み換えてください
- 8.
Vimの通信機能
全てをVimだけでやることは不可能なので、外部と
の通信機能が必要
Vmでいうところの、VM RPC (Remote Procedure
Call)
VimはRuby, Tcl, Python, Perl等、外部言語のイン
タフェースが充実している
さらに、共有ライブラリも呼び出せる! これはEmacs
では不可能
ただし外部プログラムとの通信機能は弱い
- 9.
Emacsとの比較
Emacsはシェルと通信するための機能が充実して
いる
例: shellmode, termmode, eshellmode, comint
mode...
かたくなにエディタであろうとするVimには入る予
定なし
- 10.
vimproc
なければ作ってしまえばいいじゃない! ということ
で、Yukihiro Nakadairaさんの通信ライブラリを改
造して使っています。
pipe, pty, socketを用いた通信が可能
vimshellと連携してコマンドのパースが可能
github上で公開中
- 11.
vimshell
100 % Vim Scriptで書かれたシェル
EmacsでいうところのEshell
内部の通信ではvimprocを使っている
neocomplcacheで自動補完
将来的にはシェルスクリプトを書けるようにしたい
……
github上で公開中
- 12.
- 13.
おまけ
そろそろVim Scriptに足りない機能が見えてきた。
パッチを書くべきなのか……
ちなみに、以前Vim Scriptでバイナリエディタを作ろ
うとしたことがあります
→途中で挫折
時間があったら再挑戦したいです。目指せVimの
hexlmode!