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

Post on 07-Jan-2017

5.236 views 3 download

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

海外Vimmerが開発した

Vim pluginの紹介

VimConf 20152015/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)

ご清聴ありがとうございました