SlideShare a Scribd company logo
NeoVim の話
2015/12/5 NGK2015B
cohama / @c0hama
About me
cohama
– Twitter:@c0hama
– Vimmer
– Vim プラグインとか
作ります
– Nagoya.vim 主催
(だった)
今日
• NeoVimの歴史
• Vimとの違い
• NeoVimの今
NeoVimの歴史
• 2014年1月くらい
– Vimからフォークされる
• ソースのリファクタリングによる保守性の確保
• コミュニティ手動の開発 (GitHub)
• 新しいプラグインアーキテクチャ
• 2014年4月くらい
– BountySourceで$30,000くらい集める
– neovim.orgができる
• 2015年11月
– NeoVim 0.1リリース
NeoVimの特徴 (主に機能面)
• 非同期処理 (job-control)
• Msgpack-RPCによるプロセス間通信
• 内蔵ターミナル
• オリジナルVimとの高い互換性
• デフォルトの設定がいい感じ
非同期処理 (job-control)
• 非同期処理はエディタの生命線
– コンパイル、Lintツール、テストなどを実行
中でもコードを眺めたり編集したりしたい
非同期処理 (job-control)
• 実はオリジナルのVimには非同期処理はない
– プロセスのforkはできる
– コールバックはない
– タイマーもない
• QuickRunなどはとてつもない黒魔術で非同
期処理っぽいことを実現している
– Vimの中でVimを呼び出してVim間で通信
– カーソルが動いた時のイベントで呼び出し結果を
ポーリング
非同期処理 (job-control)
• NeoVimなら (黒魔術を使わなくても比較
的簡単に) 非同期処理ができる
Msgpack-RPCによるプロセス間通信
• NeoVimの外部からNeoVimを操作するた
めのAPIが公開されている
• いろんなクライアントがある
https://github.com/neovim/neovim/wiki/Related-projects
(でもたぶんほとんどWIP)
→いろんなプログラミング言語でVimの
プラグインが書ける
内蔵ターミナル
• NeoVimの中にターミナルエミュレータが
入っている
• NeoVim内のターミナルエミュレータから
NeoVimを起動できる
:terminal
NeoVimの今
• 普通に開発は続いています
• ただし、アップストリーム (オリジナルの
Vim) のパッチへの追従はなかなかできて
いない
– 未取り込みのパッチ 177個
おわりに
• NeoVimはVimからフォークされたプロ
ジェクト
• Vimにはない便利機能がたくさんある
• 今後に期待

More Related Content

PPTX
ConoHa VPSの コマンドラインツールを作った
PPTX
ConoHaにおける オブジェクトストレージの 利用動向
PPTX
自動デプロイ
PPTX
クラウドのようなVPS 「ConoHa」 を使ってみよう。
PPTX
このべん第一回 ~ 「ConoHaってどんなVPS?」を勉強して3,000円クーポンをもらっちゃおうの会
PDF
新人営業のためのよくわかる仮想化技術r
PDF
tansuの紹介
PDF
モダンすぎる静的サイトの作り方
ConoHa VPSの コマンドラインツールを作った
ConoHaにおける オブジェクトストレージの 利用動向
自動デプロイ
クラウドのようなVPS 「ConoHa」 を使ってみよう。
このべん第一回 ~ 「ConoHaってどんなVPS?」を勉強して3,000円クーポンをもらっちゃおうの会
新人営業のためのよくわかる仮想化技術r
tansuの紹介
モダンすぎる静的サイトの作り方

What's hot (20)

PDF
今さら聞けないWebサーバの基本知識と選び方
PDF
Concrete5×さくら
PDF
Aws privte20110406 arai
PDF
RVM with Server Environment
PDF
Pykonjp2014
PDF
かんたんCMS Picoについて
PPTX
WebSocketでリアルタイム通信 (第13回学生LT資料)
PDF
社内勉強会 - 書籍管理Webシステム
PDF
最新 Windows azure モバイル・サービス 活用法
PPTX
WebRTCサービスを個人で運営してみた話
PPTX
concrete5とAWSのほどよい関係
PDF
そろそろSublime Text 2を熱く語ろうと思う
PDF
後期第二回ネットワークチーム講座資料
KEY
PHP-Ninjaの裏側
PDF
Nginxを使ったオレオレCDNの構築
ODT
My dev env
PPTX
Vagrant×Rails セットアップ講習会資料
PDF
サーバ構築実践入門
PPT
Node.js で Web アプリ開発
PPTX
Node.jsに縁のない職場でnode.jsを使い始める戦術
今さら聞けないWebサーバの基本知識と選び方
Concrete5×さくら
Aws privte20110406 arai
RVM with Server Environment
Pykonjp2014
かんたんCMS Picoについて
WebSocketでリアルタイム通信 (第13回学生LT資料)
社内勉強会 - 書籍管理Webシステム
最新 Windows azure モバイル・サービス 活用法
WebRTCサービスを個人で運営してみた話
concrete5とAWSのほどよい関係
そろそろSublime Text 2を熱く語ろうと思う
後期第二回ネットワークチーム講座資料
PHP-Ninjaの裏側
Nginxを使ったオレオレCDNの構築
My dev env
Vagrant×Rails セットアップ講習会資料
サーバ構築実践入門
Node.js で Web アプリ開発
Node.jsに縁のない職場でnode.jsを使い始める戦術
Ad

Viewers also liked (6)

PDF
Vim の開発環境
PDF
neovim = VM
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
PDF
暗黒美夢王とEmacs
PDF
deoplete: The dark powered auto completion plugin for neovim
PDF
Let's talk about neovim
Vim の開発環境
neovim = VM
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
暗黒美夢王とEmacs
deoplete: The dark powered auto completion plugin for neovim
Let's talk about neovim
Ad

More from cohama (8)

PDF
Vim の話
PPTX
2016 04-15 nl-nagoya_vim8
PPTX
2014 12-06 ngk2014-b_2014年のvim
PDF
Auto closing parenthesis @vim conf2014
PDF
How to use git from vim @vim conf2013
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1
PDF
すごいVimでhaskellを書こう@なごやまつり
Vim の話
2016 04-15 nl-nagoya_vim8
2014 12-06 ngk2014-b_2014年のvim
Auto closing parenthesis @vim conf2014
How to use git from vim @vim conf2013
(初心者向け) Vim の機能紹介@nagoya.vim #1
Vim script と vimrc の正しい書き方@nagoya.vim #1
すごいVimでhaskellを書こう@なごやまつり

2015 12-04 about_neovim