1、下載snipMatezip:
https://github.com/msanders/snipmate.vim/archive/master.zip
2、解壓master.zip
unzip master.zip -d ~/.vim (若是沒有此目錄,就自己建一個) cd ~/.vim mv snipmate.vim-master/* ./
3、定制自己的快捷鍵,在~/.vim/snippets/python.snippets 文件中有着各種快捷鍵的定義,自己也可以添加配置,當然除了c語言之外snipmate還支持其他的各種語言如:shell、ruby、python等, 下面是一個python語言snippets文件
cat /root/.vim/snippets/python.snippets snippet #! #!/usr/bin/env python snippet imp import ${1:module} # Module Docstring snippet docs ''' File: ${1:`Filename('$1.py', 'foo.py')`} Author: ${2:`g:snips_author`} Description: ${3} ''' snippet wh while ${1:condition}: ${2:# code...} snippet for for ${1:needle} in ${2:haystack}: ${3:# code...} # New Class snippet cl class ${1:ClassName}(${2:object}): """${3:docstring for $1}""" def __init__(self, ${4:arg}): ${5:super($1, self).__init__()} self.$4 = $4 ${6} # New Function snippet def def ${1:fname}(${2:`indent('.') ? 'self' : ''`}): """${3:docstring for $1}""" ${4:pass} snippet deff def ${1:fname}(${2:`indent('.') ? 'self' : ''`}): ${3} # New Method snippet defs def ${1:mname}(self, ${2:arg}): ${3:pass} # New Property snippet property def ${1:foo}(): doc = "${2:The $1 property.}" def fget(self): ${3:return self._$1} def fset(self, value): ${4:self._$1 = value} # Lambda snippet ld ${1:var} = lambda ${2:vars} : ${3:action} snippet . self. snippet try Try/Except try: ${1:pass} except ${2:Exception}, ${3:e}: ${4:raise $3} snippet try Try/Except/Else try: ${1:pass} except ${2:Exception}, ${3:e}: ${4:raise $3} else: ${5:pass} snippet try Try/Except/Finally try: ${1:pass} except ${2:Exception}, ${3:e}: ${4:raise $3} finally: ${5:pass} snippet try Try/Except/Else/Finally try: ${1:pass} except ${2:Exception}, ${3:e}: ${4:raise $3} else: ${5:pass} finally: ${6:pass} # if __name__ == '__main__': snippet ifmain if __name__ == '__main__': ${1:main()} # __magic__ snippet _ __${1:init}__${2}
4.使用
這個插件只用了一個鍵,就是TAB鍵,
比如對一個C/C++文件,輸入inc,再按TAB鍵,就會填充為#include <stdio.h>,同時stdio被選中,以備修改。還有其他的,如main+TAB, wh+TAB,do+TAB,for+TAB,forr+TAB,if+TAB……具體可以看snippets文件夾下的那些文件,比如c.snippets
比如對於一個python文件,
輸入ifmain,再按TAB鍵,就會填充為
if __name__ == '__main__':
main()
輸入imp,再按TAB鍵,就會填充為
import module
輸入wh,再按TAB鍵,就會填充為
while condition:
# code...