はじまり
現在思いつきでvimscriptを勉強中だ。「vim plugin 作り方」とGoogle検索して、ヒットするページのトップ3は以下のとおり。
1. vimプラグインができるまで
2. 初心者のためのvimプラグイン
3. Vim Plugin 作成の勉強のため特定のパターンに一致する行を抽出して編集するためのスクリプト作った
どのページも完結にまとまっていて上記ページをみてもらうのが一番よいと思う。以下は自分用のメモ扱いです。
vimプラグインを作るために最初にやること
言うまでもなく、最初はvimscript構文を覚えることだ。一番分かりやすかったのが以下のページ。2,3時間もあれば十分理解できると思う。
次に、簡単な関数を書いてみる。関数宣言については、「Vimざっくりチュートリアル」がまとまっていて読みやすかった。以下引用です。
関数作成(functionは)
:function Func(flg) " グローバルスコープの場合、関数名はアルファベットの大文字で始まる : if a:flg " 引数の参照は、a:引数名 : echo "true" : else : return "false" |" 戻り値を返したい場合、return コマンドを使う : endif :endfunction
関数呼び出し
:call Func(0) " call コマンドは、渡された関数を実行するコマンド。この場合、false が返る :let test = Func(1) " 戻り値を変数に格納したい場合 :echo Func(1) " 戻り値をそのまま echo したい場合
次にやることだが、以下のビデオ「Your First Vim Plugin」が非常にオススメ。以下にして目的の機能をvimscriptで実装していくか?流れが手に取るようにわかるだろう。