vim中自动补全插件snipmate使用
2024-08-28 05:17:50
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...
最新文章
- 显示和隐藏Mac下的 隐藏文件
- 运行所有sdk目录下的示例,查看它们的功能,方便以后查寻
- Salesforce删除数据时出现Insufficient privileges的可能原因
- Python3.6进程池添加子进程不执行_一次傻屌行为
- xpath 根据根节点找数据
- utf-8并不";兼容"; gb2312, gb18030
- mysql 的 help 命令:每个命令,都有相应的反斜杠(\)加一个字母或字符的简写
- python ord()与chr()用法以及区别
- Spring事务控制和回滚
- SO\PR\MO\排产回写的数据如下
- Linux远程批量工具mooon_ssh和mooon_upload使用示例
- python 结巴分词简介以及操作
- java自定义线程池
- Windows10解决无法访问其他机器共享的问题
- Android程序员学WEB前端(7)-CSS(2)-伪类字体文本背景边框-Sublime
- Javascrpt 速成篇】 二:js面向对象
- android ART-逆向研究者的福音?
- 第五部分shell项目一监控脚本
- [BZOJ 3326] 数数
- redis存储对象与对象序列化详解
热门文章
- [原]使用kubeadm部署kubernetes(一)
- 【Docker学习之四】Docker自定义容器镜像
- C++ 智能指针 shared_ptr 分析
- .NET Core sdk和runtime区别
- LeetCode 5215. 黄金矿工(Java)DFS
- 去除Chrome“请停用以开发者模式运行的扩展程序”提示
- Go语言【数据结构】字符串
- cocos creator ScrollView组件scrollToOffset()方法的使用
- Ubuntu 编译安装 nginx
- Jenkins+Gitlab配置Webhook实现提交自动部署