プラグイン開発や vimrc 設定に役立つ実践的な Vimscript イディオム、パターン、定型スニペット集。
キーとコマンドの割り当て
" カスタムユーザーコマンドをスクリプトローカル関数に紐付け
command! YoFunctionHere call s:YoFunctionHere()
" ノーマルモードでサイレントにキーマッピング
nnoremap <silent> x :call <SID>FunctionHere()<CR>
function! s:FunctionHere()
" 実装処理
endfunction
挿入モードでの関数呼び出し
" 式レジスタ (=) を使って結果を挿入
inoremap X <C-R>=script#myfunction()<CR>
inoremap <F2> <C-R>=MyVimFunc()?'':''<CR>
プラグインの存在確認
if globpath(&rtp, "plugin/commentary.vim") != ""
" Commentary プラグインがインストールされている場合
endif
Autoload (自動読み込み)
" autoload/hello.vim
if exists("g:hello_loaded") | finish | endif
let g:hello_loaded = 1
function! hello#method()
echo "autoload 関数からのメッセージです!"
endfunction
hello#method() を呼び出すと、必要に応じて autoload/hello.vim が自動的に読み込まれます。
その他
バージョン確認
if v:version < 704
echom "このプラグインには Vim >= 7.4 が必要です"
finish
endif