VimのPluginの基本
vim今回のscript名はexample
名前は重複すると問題になるので固有のものを決める。
ファイル構造は
example
├── plugin
│ └── example.vim
├── autoload
│ └── example.vim
└── doc
├── (自動生成するので今は気にしない)
└── example.txt
それぞれのフォルダの役割
- plugin
vim実行時に読み込まれる
関数を呼び出すためのexコマンドをひも付する
関数の本体は含まれない - autoload
実行したいコードを管理するフォルダ
コマンド実行時に読み込まれる。 - doc
helpなどの情報を記載する
READ.MEとはべつでvimのコマンドから表示できるようにする
plugin/example.vim
"vimrcにg:loaded_example = 1 と記載されていた場合
"すでに読み込んだものとして無効にする
if exists('g:loaded_example')
finish
endif
let g:loaded_example = 1
Exコマンドを定義
":Hello args
command! -nargs=1 Hello call example#hello(<q-args>)
autoload/example.vim
"call example#hello('msg')
function! example#hello(msg) abort
echo a:msg
endfnction
doc/example.vim
LeafCage/vimhelpgeneratorを導入しコマンドを実行
:VimHelpgenerator
生成されるファイルの項目の説明文を記入
- 変数
- コマンド
- キーマッピング
"コマンドを実行する
:Hello
"コマンドのヘルプを表示する
:h Hello
作成・保存・テストのサイクル
:w
:source plugin/example.vim
:source autoload/example.vim
:call example#hello('msg')