以前使用IDE編程,模板是最基本的功能,如今切換到vim,用慣了模板的我,對於每次寫代碼都來上python
# -*- coding: utf-8 -*- # # 日期 做者 # # License
這麼一段,感受有點恐怖,Google了一下,vim居然能夠實現比IDE更強大的功能,真是不得不佩服vim的強大!git
因爲不一樣人的vim配置不同,安裝方法也不盡相同,請參考官方的安裝方法來安裝。
對於使用spf13-vim的同窗,在主目錄下的.vimrc.bundles.local添加一行:github
Bundle 'git@github.com:aperezdc/vim-template.git' # 不知道"Bundle 'vim-template'"爲何老要我輸入用戶名密碼, # 輸入以後也安裝不成功,知道的同窗能夠留言告知我。
而後在shell裏面運行:shell
vim +BundleInstall
或者打開vim,運行:編程
:BundleInstall
都行。vim
若是你對自帶的模板沒有不少意見,你甚至什麼都不用配置,你用vim打開一個新的python腳本,vim-template會自動檢測
文件後綴,而後本身根據模板填充文件,一切都那麼理所固然。你甚至能夠打開沒有後綴的文件,而後運行:Template <pattern>(好比:Template *.py)在文件
開頭插入模板,:TemplateHere <pattern>(好比: TemplateHere *.py)在光標所在的位置插入模板。函數
安裝好vim-template以後,能夠根據本身的須要來配置:學習
vim-template能夠自定義模板變量, 在主目錄的.vimrc(若是你使用spf13-vim的話就修改.vimrc.local)中添加:插件
let g:templates_user_variables = [['EMAIL', 'GetEmail'],] function GetEamil() return 'pylego@hotmail.com' endfunction
注意:上面都是VimScript的語法,有興趣的能夠學習下。code
這樣你就能夠在模板裏面寫%EMAIL%,而後模板引擎會自動調用GetEmail函數,將返回值代替之。
有時候你想根據本身的須要定義模板,在vim-template裏面是很容易實現的
# 在.vimrc(若是你使用spf13-vim的話就是.vimrc.local) let g:templates_directory = '/home/pylego/.vim/templates'
文件的命名模式是"=template=<pattern>", 好比我想讓每一個以py結尾的文件都以這個模板開始就能夠這樣:
建立一個名爲"=template=.py"的文件,向文件裏面寫入模板。
注意這個"=template="前綴是能夠改動的,具體不在本文討論範圍內。
spf13-vim
.vimrc.local
" settings for vim-template bundle let g:templates_directory = ['/home/pylego/.vim/templates',] let g:templates_user_variables = [['EMAIL', 'GetMail'], ['FULLPATH', 'GetFullPath']] function GetMail() return 'pylego@hotmail.com' endfunction function GetFullPath() return expand('%:p') endfunction " vim-template settings end
/home/pylego/.vim/templates/=template=.py
# -*- coding: utf-8 -*- # # Copyright © PyleGo. # # %DATE% %TIME% <%EMAIL%> # # Distributed under terms of the %LICENSE% license.