Vim的snipMate插件
介绍
终于发现了一个插件,对于Vim下代码块的自动补全支持的很好。给大家推荐snipMate。
snipMate可以帮助您在vim上实现类似Textmate的功能,自动代码块的能力非常强大,而且代码块是可定制的。我们只需编辑~/.vim/snippets/目录下的*.snippets文件就可以根据自己的要求自动产生代码。
使用
下载snipMate,解压到你的Vim目录。
完成之后,新建一个测试文件snipMateTest.php准备测试
vim snipMateTest.php
然后按照下面的方式开始测试snipMate:
输入for,再按tab键
输入foreach,再按tab键
输入class,再按tab键
输入fun,再按tab键
效果如图
http://www.ccvita.com/481.html
snipMate插件php自动补全配置文件:
- snippet php
- <?php
- ${1}
- snippet ec
- echo "${1:string}"${2};
- snippet inc
- include '${1:file}';${2}
- snippet inc1
- include_once '${1:file}';${2}
- snippet req
- require '${1:file}';${2}
- snippet req1
- require_once '${1:file}';${2}
- # $GLOBALS['...']
- snippet globals
- $GLOBALS['${1:variable}']${2: = }${3:something}${4:;}${5}
- snippet $_ COOKIE['...']
- $_COOKIE['${1:variable}']${2}
- snippet $_ ENV['...']
- $_ENV['${1:variable}']${2}
- snippet $_ FILES['...']
- $_FILES['${1:variable}']${2}
- snippet $_ Get['...']
- $_GET['${1:variable}']${2}
- snippet $_ POST['...']
- $_POST['${1:variable}']${2}
- snippet $_ REQUEST['...']
- $_REQUEST['${1:variable}']${2}
- snippet $_ SERVER['...']
- $_SERVER['${1:variable}']${2}
- snippet $_ SESSION['...']
- $_SESSION['${1:variable}']${2}
- # Start Docblock
- snippet /*
- /**
- * ${1}
- **/
- # Class - post doc
- snippet doc_cp
- /**
- * ${1:undocumented class}
- *
- * @package ${2:default}
- * @author ${3:`g:snips_author`}
- **/${4}
- # Class Variable - post doc
- snippet doc_vp
- /**
- * ${1:undocumented class variable}
- *
- * @var ${2:string}
- **/${3}
- # Class Variable
- snippet doc_v
- /**
- * ${3:undocumented class variable}
- *
- * @var ${4:string}
- **/
- ${1:var} $${2};${5}
- # Class
- snippet doc_c
- /**
- * ${3:undocumented class}
- *
- * @packaged ${4:default}
- * @author ${5:`g:snips_author`}
- **/
- ${1:}class ${2:}
- {${6}
- } // END $1class $2
- # Constant Definition - post doc
- snippet doc_dp
- /**
- * ${1:undocumented constant}
- **/${2}
- # Constant Definition
- snippet doc_d
- /**
- * ${3:undocumented constant}
- **/
- define(${1}, ${2});${4}
- # Function - post doc
- snippet doc_fp
- /**
- * ${1:undocumented function}
- *
- * @return ${2:void}
- * @author ${3:`g:snips_author`}
- **/${4}
- # Function signature
- snippet doc_s
- /**
- * ${4:undocumented function}
- *
- * @return ${5:void}
- * @author ${6:`g:snips_author`}
- **/
- ${1}function ${2}(${3});${7}
- # Function
- snippet doc_f
- /**
- * ${4:undocumented function}
- *
- * @return ${5:void}
- * @author ${6:`g:snips_author`}
- **/
- ${1}function ${2}(${3})
- {${7}
- }
- # Header
- snippet doc_h
- /**
- * ${1}
- *
- * @author ${2:`g:snips_author`}
- * @version ${3:$Id$}
- * @copyright ${4:$2}, `strftime('%d %B, %Y')`
- * @package ${5:default}
- **/
- /**
- * Define DocBlock
- *//
- # Interface
- snippet doc_i
- /**
- * ${2:undocumented class}
- *
- * @package ${3:default}
- * @author ${4:`g:snips_author`}
- **/
- interface ${1:}
- {${5}
- } // END interface $1
- # class ...
- snippet class
- /**
- * ${1}
- **/
- class ${2:ClassName}
- {
- ${3}
- function ${4:__construct}(${5:argument})
- {
- ${6:// code...}
- }
- }
- # define(...)
- snippet def
- define('${1}'${2});${3}
- # defined(...)
- snippet def?
- ${1}defined('${2}')${3}
- snippet wh
- while (${1:/* condition */}) {
- ${2:// code...}
- }
- # do ... while
- snippet do
- do {
- ${2:// code... }
- } while (${1:/* condition */});
- snippet if
- if (${1:/* condition */}) {
- ${2:// code...}
- }
- snippet ife
- if (${1:/* condition */}) {
- ${2:// code...}
- } else {
- ${3:// code...}
- }
- ${4}
- snippet else
- else {
- ${1:// code...}
- }
- snippet elseif
- elseif (${1:/* condition */}) {
- ${2:// code...}
- }
- # Tertiary conditional
- snippet t
- $${1:retVal} = (${2:condition}) ? ${3:a} : ${4:b};${5}
- snippet switch
- switch ($${1:variable}) {
- case '${2:value}':
- ${3:// code...}
- break;
- ${5}
- default:
- ${4:// code...}
- break;
- }
- snippet case
- case '${1:value}':
- ${2:// code...}
- break;${3}
- snippet for
- for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {
- ${4: // code...}
- }
- snippet foreach
- foreach ($${1:variable} as $${2:key}) {
- ${3:// code...}
- }
- snippet fun
- ${1:public }function ${2:FunctionName}(${3})
- {
- ${4:// code...}
- }
- # $... = array (...)
- snippet array
- $${1:arrayName} = array('${2}' => ${3});${4}
相关推荐
vim 代码自动提示,自动补全 安装包 autocomplpop
支持python shell html css xml js c 等语言的自动补全(无需tab即可出现补全提示)及文件作者信息的生成,vimrc文件带有详细注释,带方法列表,wm可显示目录树
在vim中针对c++自动补全 在vim中针对c++自动补全
vim(gvim)插件——PHP语言自动补全 解压缩后,将文件夹里面的7个文件夹粘贴覆盖..\Vim\vimfiles\
使用过Source Insight的人一定对它的自动补全功能印象深刻,...这里,我将自己用的配置文件发给大家,大家可以移步(待会会补上地址),只要简单的两步,就能实现vim的程序自动补全功能,大大增加了在vim上的开发效率。
集成了常用的插件包 自动补全智能提示飞一般的写代码。 就像一个轻量级IDE,文件目录浏览和函数列表显示功能一应俱全。 无需在额外任何配置,解压既能用。 详细介绍和使用参见个人博客:...
vim官方脚本snipmate绿色覆盖更新到0.83版本后停止更新了。 新版vim-snipmate0.87,官方下载更新地址如下 https://github.com/garbas/vim-snipmate 由于新手可能不会安装,现在制作了如vim官方的绿色版本直接覆盖目录...
Vim-EasyComplete - 一个简单轻便的 VIM 自动补全插件
如果用过sublime,就知道它的自动补全很好用,这个在linux下的vim也可以
就可以在vim中使用快捷键F12来随时生成当前目录下的tags,这样后续配好omni自动补全以后,自己工程下定义的类中的public成员,也可以通过. :: ->来自动补全了。全局定义的查找。局部的符号不会生成tags,这个要使用...
Jedi-vim:绑定 Vim 和 Jedi 自动补全库对 Python 进行自动补全
vim插件 java代码自动补齐. 具体信息看其中的帮助文档。
vim 配置代码补全
vim的java自动补全工具 vim java 自动 补全 提示
vim插件----代码补全,高亮,文件浏览等等
gvim补全插件snipmate使用 一.此版本已经修正了在php文件中书写html代码时的缩进问题,希望能和大家一起努力! 你把这个文件夹和vim配置文件直接拷贝覆盖到你的gvim安装目录下,你简单的看一下你的gvim安装目录就...
6. pydiction:python代码补全,输入过程中按tab键弹出自动补全提示。 7. vimpdb:python编译调试器,默认F2设置断点,F5运行,F12查看stack trace,F3查看变量和 参数值。现在改为:Ctrl+M设置断点,Ctrl+D运行。 ...
一、vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.python 模块内函数,变量补全 5.from module import sub-...
主要介绍了vim自动补全插件YouCompleteMe(YCM)安装过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在~/.vimrc中配制 autocmd FileType python set ... autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete set nocp filetype plugin on