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]