新年度から使いたい Vim プラグイン:自作プラグイン編
新年度!ってことでこれから Vim を強いられる使う人も多いかと思います。
そこで個人的に地味に便利なプラグインをおすすめしたいと思います!
今回は自作プラグインの中から便利そうなプラグインを紹介します。
だいたいマイナーなのが多い
はじめに : Vim プラグインを管理するプラグイン
プラグインを導入する前にプラグインを管理するプラグインを入れましょう。
使い方などはドキュメントやここら辺を参考にするとよいでしょう。
また、他のプラグイン管理プラグインには以下のようなものもあります。
neobundle.vim があわないと感じたらこの2つも試してみるとよいと思います。 特に vim-pathogen は単純な管理システムで git に依存しないので git を使いたくない方は vim-pathogen を使うとよいでしょう。
anzu.vim
NeoBundle "osyo-manga/vim-anzu"
検索ワードを n
や N
で移動するときに hoge(3/10)
みたいに検索数を表示するプラグインです。
これは以下のようにマッピングして使用します。
nmap n <Plug>(anzu-n-with-echo) nmap N <Plug>(anzu-n-with-echo) nmap * <Plug>(anzu-star-with-echo) nmap # <Plug>(anzu-sharp-with-echo)
また、常に表示させたい場合は以下の設定を行うとカーソル移動中にも動作するようになります。
let g:anzu_enable_CursorMoved_AnzuUpdateSearchStatus = 1
この設定を行う場合は n
や N
にマッピングする必要はありません。
他にも以下の設定を行うことでマッチしたワードの横に直接検索数を表示することもできます。
nmap n <Plug>(anzu-mode-n) nmap N <Plug>(anzu-mode-N)
参照
jplus.vim
NeoBundle "osyo-manga/vim-jplus"
行結合を行うためのプラグインです。
動作は Vim のJ
と同じですが、結合文字を入力して結合することができます。
" \J で任意の1文字を入力して結合を行う nmap <Leader>J <Plug>(jplus-getchar) vmap <Leader>J <Plug>(jplus-getchar) " 複数文字を入力したい場合は <Plug>(jplus-input) を使用する " nmap <Leader>J <Plug>(jplus-input) " vmap <Leader>J <Plug>(jplus-input)
これにより
homu mami mado
から
homu + mami + mado
みたいな変換を簡単に行うことができます。
また、他にも <Plug>(jplus)
を使用することで行継続のワード(\
など)を削除して結合も行われます。
nmap J <Plug>(jplus)
この設定を行うことで
" filetype=vim let = aaa \ + bbb \ + ccc
から
let = aaa + bbb + ccc
のように \
を取り除いて結合が行われます。
参照
brightest.vim
NeoBundle "osyo-manga/vim-brightest"
カーソル下の単語をハイライトするプラグインです。
このプラグインをインストールすると以下のような感じに常にカーソル下の単語がハイライトされるようになります。
こんな感じで変数がどこで使われているのかが視覚的にわかりやすくなります。
参照
- カーソルを移動するたびにカーソル下の単語をハイライトするあれをプラグイン化した - C++でゲームプログラミング
- 移動する度にカーソル上の単語をハイライトする brightest.vim に特定のシンタックス上でハイライトしない機能を実装した - C++でゲームプログラミング
over.vim
NeoBundle "osyo-manga/vim-over"
:substitute
時に置換するワードと置換後のワードのハイライトをバッファ上に表示するためのプラグインです。
このプラグインは :OverCommandLine
を実行して独自コマンドライン上から入力を行ないます。
:substitute
以外にも :global
や :/
時のハイライトも行ないます。
参照
vim-itunes-bgm
NeoBundle "osyo-manga/vim-itunes-bgm" " vimproc.vim も別に導入しておく必要がある NeoBundle "Shougo/vimproc.vim"
iTunes API の曲を Vim 上で再生するためのプラグインです。
:ITunesBGMStart {再生したい曲のキーワード}
で {再生したい曲のキーワード}
にマッチする曲をランダムに再生します。
再生する曲は :ITunesBGMPlayList
で確認する事ができます。
ITunesBGMStart アイドルマスター
の検索結果
また、このプラグインは mplayer
を必要としますので、プラグイン以外にも mplayer
を予め導入しておく必要があるので注意してください。
参照
まとめ
と、いう感じで自作プラグインをいくつか紹介してみました。
やっぱり自分がつくったプラグインが紹介しやすいですね。
明日は他人のつくったプラグインを紹介してみたいと思います。