SlideShare a Scribd company logo
1 of 73
Download to read offline
海外Vimmerが開発した
Vim pluginの紹介
VimConf 2015
2015/11/21(Sat)
deris0126
自己紹介
❖ Twitter: @deris0126
❖ Hatena: deris
❖ Github: deris
❖ 最近気になるもの: golang
自己Vim紹介
❖ 私の.vimrc: 2344 line(1419)
❖ 使用Vim plugin: 139
❖ 自作Vim plugin: 19
❖ 自作でお勧め
❖ vim-rengbang, vim-shot-f
海外Vimmerが開発した有名なVim plugin
海外Vimmerが開発した有名なVim plugin
❖ vim-surround
❖ vim-fugitive
❖ vim-rails
❖ nerdtree
❖ syntastic
❖ tagbar
❖ ctrlp.vim
❖ vim-airline
(3000 star over) github star
(6000 star over)
(3000 star over)
(5000 star over)
(5000 star over)
(2000 star over)
(5000 star over in old repos)
(6000 star over)
ということは
本日紹介するのは
有名な海外Vim plugin?
違いまーす
本日紹介するVim pluginのポイント
本日紹介するVim pluginのポイント
❖ あまり知られていないVim plugin
❖ 海外のVim plugin (日本語で説明した資料がない)
❖ 私も知らなかった or 使っていなかった
❖ vimrc読書会でネタにした.vimrcにないVim pluginも!
本日紹介するVim pluginのポイント
❖ 私が投稿した以下の記事に載っていない(ステマ)
❖ Vimmerなら2013年中に試しておきたい海外産Vim plugin 8選
(http://deris.hatenablog.jp/entry/2013/12/15/235606)
❖ ちなみに、Google検索: deris vimmer
本日紹介するVim pluginのポイント
❖ 基本的にはプログラミング言語に非依存
❖ すべての参加者の方(本当の初心者の方も)をカバーす
るため
本日紹介するVim pluginのポイント
❖ そして。。。
数百のVim pluginから夜なべして厳選
目的
目的
❖ すべての参加者の方に新しいアイディアを
❖ 参加者の方のVim lifeを少しでも改善できれば
❖ 新しいVim plugin作成のインスピレーションに
海外VimmerのVim plugin 10選
海外VimmerのVim plugin 10選
1. sideways.vim
2. targets.vim
3. vim-table-mode
4. investigate.vim
5. inline_edit.vim
6. changesPlugin
7. Recover.vim
8. BufTimer
9. YUNOcommit.vim
10. autotype.vim
1. sideways.vim
1. sideways.vim
❖ プログラミングの関数の引数間をカーソルジャンプ
❖ 関数の引数を、隣の引数と入れ替え
❖ 関数の引数をVimのtextobjectとして扱える
1. sideways.vim
❖ デモ
1. sideways.vim
❖ 似ているVim plugin
❖ vim-textobj-parameter
❖ vim-exchange
❖ 違い
❖ vim-textobj-parameterは関数の引数 をtextobjectとして扱うのに特
化(安心のvim-textobj-user依存)
❖ vim-exchangeは指定した2つのtextobjectを入れ替えられる。関数
の引数に特化したものではない
2. targets.vim
2. targets.vim
❖ 囲み系の便利なtextobjectを定義
❖ in) で1つ後のパーレン内、il) で1つ前のパーレン内
❖ in} in’ 、 an) も同様
❖ i{char} (i, i. i;など) iの後に指定した文字の囲み部分
❖ a{char} も同様
2. targets.vim
❖ デモ
2. targets.vim
❖ 似ているVim plugin
❖ vim-textobj-between
❖ 違い
❖ vim-textobj-betweenはif{char}, af{char}で、{char}で囲
まれた部分をtextobject化(キーマップを汚さない)
3. vim-table-mode
3. vim-table-mode
❖ |(bar)の入力だけでテーブルを楽に作れる
❖ :Tableizeコマンドでcsvファイルなどからテーブル変換
3. vim-table-mode
❖ デモ
3. vim-table-mode
❖ 似ているVim plugin
❖ vim-maketable
❖ DrawIt!
❖ 違い
❖ vim-maketableは:Tableizeコマンドに似てる
❖ DrawIt!は、カーソル移動で線を引ける
4. investigate.vim
4. investigate.vim
❖ 現在のfiletypeに応じて、Webのドキュメントページか
ら検索できる
❖ デフォルトでいくつか用意されている
❖ Dashからも検索できる
❖ DashはAPIリファレンスから検索できるMacアプリ
4. investigate.vim
❖ デモ
4. investigate.vim
❖ 似ているVim plugin
❖ vim-ref
❖ devdocs.vim
❖ 違い
❖ vim-refはVim内のテキストで辞書やドキュメントなどを検索
❖ devdocs.vimは様々なドキュメントを1つにまとめたサイトで
あるDevDocsから検索
5. inline_edit.vim
5. inline_edit.vim
❖ 特定のfiletypeのバッファに埋め込まれた別のfiletypeの
テキストを別ウィンドウで表示
5. inline_edit.vim
❖ デモ
5. inline_edit.vim
❖ 似ているVim plugin
❖ vim-precious
❖ vim-partedit
❖ 違い
❖ inline_edit.vimは埋め込みテキストを別ウィンドウ表示
❖ vim-preciousは同一ウィンドウ内で埋め込みテキスト位置でfiletypeを自動
切り替えする。
❖ vim-parteditは明示的に埋め込みテキストの範囲とfiletypeなどを指定して
別ウィンドウ表示
6. changesPlugin
6. changesPlugin
❖ 現在のバッファに対する変更箇所をVim のsignで表示
❖ 上記変更箇所間を移動(default key mapping: ]h, [h)
6. changesPlugin
❖ デモ
6. changesPlugin
❖ 似ているVim plugin
❖ vim-gitgutter
❖ vim-signify
❖ 違い
❖ changesPluginはバッファ上の変更箇所を扱う
❖ vim-gitgutterとvim-signifyはgitでの変更箇所を扱う
7. Recover.vim
7. Recover.vim
❖ swapファイルから復元する際、復元先とのdiffを表示
7. Recover.vim
❖ デモ
7. Recover.vim
❖ 似ているVim plugin
❖ 把握できていません
8. BufTimer
8. BufTimer
❖ バッファの編集時間を表示する
8. BufTimer
❖ デモ
8. BufTimer
❖ 似ているVim plugin
❖ 把握できていません
9. YUNOcommit.vim
9. YUNOcommit.vim
❖ コミットせずに作業していると警告してくれる
❖ Why you no commit?(Y U NO commit)
9. YUNOcommit.vim
❖ デモ
9. YUNOcommit.vim
❖ 似ているVim plugin
❖ 把握できていません。
10. autotype.vim
10. autotype.vim
❖ 映画のハッカーみたいになれる!やったー!
10. autotype.vim
❖ デモ
10. autotype.vim
❖ 指定したファイルの中身をバッファに自動入力
10. autotype.vim
❖ 似ているVim plugin
❖ Typer
❖ vim-undoreplay
❖ Replay
❖ 違い
❖ Typerとautotype.vimはファイルの中身を出力する
❖ vim-undoreplayとReplayは編集操作をリプレイする
終わりに
終わりに
❖ 気になるVim pluginがあったら是非試してみてください
❖ 面白いVim pluginをご存知でしたら懇親会で是非!
ご清聴あり…
これで私の発表終わりかぁ…
…But
One more thing…
会場から今日一番の拍手喝采が
準備中に出来た副産物
準備中にできた副産物
❖ vim.orgにあがっているVim pluginを取得しRatingが10以上
のものをコンソールに表示する(golang)
❖ https://gist.github.com/deris/761c309e7eabad5d8c8d
❖ vimrc読書会の1回目から176回目までで読んだvimrcから
Vim pluginを雑に抽出したリスト(1775個!?)
❖ https://gist.github.com/deris/ca9e3400057e7cccdc4d
紹介したVim pluginのURL
紹介したVim pluginの URL(1/4)
❖ 自作 Vim plugin
❖ vim-rengbang (https://github.com/deris/vim-rengbang)
❖ vim-shot-f (https://github.com/deris/vim-shot-f)
❖ 海外Vimmerが作った有名な Vim plugin
❖ vim-surround (https://github.com/tpope/vim-surround)
❖ vim-fugitive (https://github.com/tpope/vim-fugitive)
❖ vim-rails (https://github.com/tpope/vim-rails)
❖ nerdtree (https://github.com/scrooloose/nerdtree)
❖ syntastic (https://github.com/scrooloose/syntastic)
❖ tagbar (https://github.com/majutsushi/tagbar)
❖ ctrlp.vim (https://github.com/ctrlpvim/ctrlp.vim)
❖ vim-airline (https://github.com/bling/vim-airline)
紹介したVim pluginの URL(2/4)
❖ 海外VimmerのVim plugin 10選で取り上げたVim plugin
❖ 1. sideway.vim と 似ているVim plugin
❖ sideways.vim (https://github.com/AndrewRadev/sideways.vim)
❖ vim-textobj-parameter (https://github.com/sgur/vim-textobj-parameter)
❖ vim-exchange (https://github.com/tommcdo/vim-exchange)
❖ 2. targets.vim
❖ targets.vim (https://github.com/wellle/targets.vim)
❖ vim-textobj-between (https://github.com/thinca/vim-textobj-between)
❖ 3. vim-table-mode と 似ているVim plugin
❖ vim-table-mode (https://github.com/dhruvasagar/vim-table-mode)
❖ vim-maketable (https://github.com/mattn/vim-maketable)
❖ DrawIt! (http://www.vim.org/scripts/script.php?script_id=40)
紹介したVim pluginの URL(3/4)
❖ 海外VimmerのVim plugin 10選で取り上げたVim plugin
❖ 4. investigate.vim と 似ているVim plugin
❖ investigate.vim (https://github.com/keith/investigate.vim)
❖ vim-ref (https://github.com/thinca/vim-ref)
❖ devdocs.vim (https://github.com/rhysd/devdocs.vim)
❖ 5. inline_edit.vim と 似ているVim plugin
❖ inline_edit.vim (https://github.com/AndrewRadev/inline_edit.vim)
❖ vim-precious (https://github.com/osyo-manga/vim-precious)
❖ vim-partedit(https://github.com/thinca/vim-partedit)
❖ 6. changesPlugin と 似ているVim plugin
❖ changesPlugin (https://github.com/chrisbra/changesPlugin)
❖ vim-gitgutter (https://github.com/airblade/vim-gitgutter)
❖ vim-signify (https://github.com/mhinz/vim-signify)
紹介したVim pluginの URL(4/4)
❖ 海外VimmerのVim plugin 10選で取り上げたVim plugin
❖ 7. Recover.vim
❖ Recover.vim (https://github.com/chrisbra/Recover.vim)
❖ 8. BufTimer
❖ BufTimer (https://github.com/chrisbra/BufTimer)
❖ 9. YUNOcommit.vim
❖ YUNOcommit.vim (https://github.com/esneider/YUNOcommit.vim)
❖ 10. autotype.vim と 似ているVim plugin
❖ autotype.vim (https://github.com/Rykka/autotype.vim)
❖ Typer (http://www.vim.org/scripts/script.php?script_id=5254)
❖ vim-undoreplay (https://github.com/haya14busa/vim-undoreplay)
❖ Replay (https://github.com/chrisbra/Replay)
ご清聴ありがとうございました

More Related Content

What's hot

Unite vim
Unite vim Unite vim
Unite vim Shougo
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacsShougo
 
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりすごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりcohama
 
Vim = VM
Vim = VMVim = VM
Vim = VMShougo
 
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識alwei
 
暗黒美夢王とEmacs
暗黒美夢王とEmacs暗黒美夢王とEmacs
暗黒美夢王とEmacsShougo
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?Masahiro Sano
 
Vim の開発環境
Vim の開発環境Vim の開発環境
Vim の開発環境eagletmt
 
VimとRubyのアツい関係
VimとRubyのアツい関係VimとRubyのアツい関係
VimとRubyのアツい関係Misao X
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tinygu4
 
2016 04-15 nl-nagoya_vim8
2016 04-15 nl-nagoya_vim82016 04-15 nl-nagoya_vim8
2016 04-15 nl-nagoya_vim8cohama
 
2014 12-06 ngk2014-b_2014年のvim
2014 12-06 ngk2014-b_2014年のvim2014 12-06 ngk2014-b_2014年のvim
2014 12-06 ngk2014-b_2014年のvimcohama
 

What's hot (20)

Unite vim
Unite vim Unite vim
Unite vim
 
Vimから見たemacs
Vimから見たemacsVimから見たemacs
Vimから見たemacs
 
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつりすごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
 
Vim = VM
Vim = VMVim = VM
Vim = VM
 
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識
 
暗黒美夢王とEmacs
暗黒美夢王とEmacs暗黒美夢王とEmacs
暗黒美夢王とEmacs
 
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
 
Vimはこわくない
VimはこわくないVimはこわくない
Vimはこわくない
 
Vim の開発環境
Vim の開発環境Vim の開発環境
Vim の開発環境
 
Vimとgo
VimとgoVimとgo
Vimとgo
 
VimとRubyのアツい関係
VimとRubyのアツい関係VimとRubyのアツい関係
VimとRubyのアツい関係
 
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
 
2016 04-15 nl-nagoya_vim8
2016 04-15 nl-nagoya_vim82016 04-15 nl-nagoya_vim8
2016 04-15 nl-nagoya_vim8
 
Vimの話
Vimの話Vimの話
Vimの話
 
anyframeを使おう
anyframeを使おうanyframeを使おう
anyframeを使おう
 
Vimの魔術
Vimの魔術Vimの魔術
Vimの魔術
 
2014 12-06 ngk2014-b_2014年のvim
2014 12-06 ngk2014-b_2014年のvim2014 12-06 ngk2014-b_2014年のvim
2014 12-06 ngk2014-b_2014年のvim
 
Tdd vim
Tdd vimTdd vim
Tdd vim
 
エディタ戦争
エディタ戦争エディタ戦争
エディタ戦争
 
rucs_vim LT
rucs_vim LTrucs_vim LT
rucs_vim LT
 

Similar to Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)

「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理gu4
 
10分で作るScala開発環境 using vim
10分で作るScala開発環境 using vim10分で作るScala開発環境 using vim
10分で作るScala開発環境 using vimGeorge Okada
 
Vimプラグインを使おう
Vimプラグインを使おうVimプラグインを使おう
Vimプラグインを使おうHideaki Miyake
 

Similar to Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version) (6)

Vimperator abc
Vimperator abcVimperator abc
Vimperator abc
 
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
10分で作るScala開発環境 using vim
10分で作るScala開発環境 using vim10分で作るScala開発環境 using vim
10分で作るScala開発環境 using vim
 
HPE SimpliVityとVeeamの連携活用例
HPE SimpliVityとVeeamの連携活用例HPE SimpliVityとVeeamの連携活用例
HPE SimpliVityとVeeamの連携活用例
 
Vimプラグインを使おう
Vimプラグインを使おうVimプラグインを使おう
Vimプラグインを使おう
 
Vimの基本設定
Vimの基本設定Vimの基本設定
Vimの基本設定
 

Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)