上都海奶茶馆 发表于 2017-4-9 07:21:56

Vim的snipMate插件 php代码自动补全

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自动补全配置文件: 
Java代码  


[*]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}  
页: [1]
查看完整版本: Vim的snipMate插件 php代码自动补全