Vim的snipMate插件 博客分类: VIM vimphp
程序员文章站
2024-02-17 08:27:46
...
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自动补全配置文件:
介绍
终于发现了一个插件,对于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}