플러그인 개발 및 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
자동 로딩 (Autoloading)
" 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