`
dcj3sjt126com
  • 浏览: 1878030 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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代码   收藏代码
  1. snippet php  
  2.     <?php  
  3.     ${1}  
  4. snippet ec  
  5.     echo "${1:string}"${2};  
  6. snippet inc  
  7.     include '${1:file}';${2}  
  8. snippet inc1  
  9.     include_once '${1:file}';${2}  
  10. snippet req  
  11.     require '${1:file}';${2}  
  12. snippet req1  
  13.     require_once '${1:file}';${2}  
  14. # $GLOBALS['...']  
  15. snippet globals  
  16.     $GLOBALS['${1:variable}']${2: = }${3:something}${4:;}${5}  
  17. snippet $_ COOKIE['...']  
  18.     $_COOKIE['${1:variable}']${2}  
  19. snippet $_ ENV['...']  
  20.     $_ENV['${1:variable}']${2}  
  21. snippet $_ FILES['...']  
  22.     $_FILES['${1:variable}']${2}  
  23. snippet $_ Get['...']  
  24.     $_GET['${1:variable}']${2}  
  25. snippet $_ POST['...']  
  26.     $_POST['${1:variable}']${2}  
  27. snippet $_ REQUEST['...']  
  28.     $_REQUEST['${1:variable}']${2}  
  29. snippet $_ SERVER['...']  
  30.     $_SERVER['${1:variable}']${2}  
  31. snippet $_ SESSION['...']  
  32.     $_SESSION['${1:variable}']${2}  
  33. # Start Docblock  
  34. snippet /* 
  35.     /** 
  36.      * ${1} 
  37.      **/  
  38. # Class - post doc  
  39. snippet doc_cp  
  40.     /** 
  41.      * ${1:undocumented class} 
  42.      * 
  43.      * @package ${2:default} 
  44.      * @author ${3:`g:snips_author`} 
  45.     **/${4}  
  46. # Class Variable - post doc  
  47. snippet doc_vp  
  48.     /** 
  49.      * ${1:undocumented class variable} 
  50.      * 
  51.      * @var ${2:string} 
  52.      **/${3}  
  53. # Class Variable  
  54. snippet doc_v  
  55.     /** 
  56.      * ${3:undocumented class variable} 
  57.      * 
  58.      * @var ${4:string} 
  59.      **/  
  60.     ${1:var} $${2};${5}  
  61. # Class  
  62. snippet doc_c  
  63.     /** 
  64.      * ${3:undocumented class} 
  65.      * 
  66.      * @packaged ${4:default} 
  67.      * @author ${5:`g:snips_author`} 
  68.      **/  
  69.     ${1:}class ${2:}  
  70.     {${6}  
  71.     } // END $1class $2  
  72. # Constant Definition - post doc  
  73. snippet doc_dp  
  74.     /** 
  75.      * ${1:undocumented constant} 
  76.      **/${2}  
  77. # Constant Definition  
  78. snippet doc_d  
  79.     /** 
  80.      * ${3:undocumented constant} 
  81.      **/  
  82.     define(${1}, ${2});${4}  
  83. # Function - post doc  
  84. snippet doc_fp  
  85.     /** 
  86.      * ${1:undocumented function} 
  87.      * 
  88.      * @return ${2:void} 
  89.      * @author ${3:`g:snips_author`} 
  90.      **/${4}  
  91. # Function signature  
  92. snippet doc_s  
  93.     /** 
  94.      * ${4:undocumented function} 
  95.      * 
  96.      * @return ${5:void} 
  97.      * @author ${6:`g:snips_author`} 
  98.      **/  
  99.     ${1}function ${2}(${3});${7}  
  100. # Function  
  101. snippet doc_f  
  102.     /** 
  103.      * ${4:undocumented function} 
  104.      * 
  105.      * @return ${5:void} 
  106.      * @author ${6:`g:snips_author`} 
  107.      **/  
  108.     ${1}function ${2}(${3})  
  109.     {${7}  
  110.     }  
  111. # Header  
  112. snippet doc_h  
  113.     /** 
  114.      * ${1} 
  115.      * 
  116.      * @author ${2:`g:snips_author`} 
  117.      * @version ${3:$Id$} 
  118.      * @copyright ${4:$2}, `strftime('%d %B, %Y')` 
  119.      * @package ${5:default} 
  120.      **/  
  121.       
  122.     /** 
  123.      * Define DocBlock 
  124.      *//  
  125. # Interface  
  126. snippet doc_i  
  127.     /** 
  128.      * ${2:undocumented class} 
  129.      * 
  130.      * @package ${3:default} 
  131.      * @author ${4:`g:snips_author`} 
  132.      **/  
  133.     interface ${1:}  
  134.     {${5}  
  135.     } // END interface $1  
  136. class ...  
  137. snippet class  
  138.     /** 
  139.      * ${1} 
  140.      **/  
  141.     class ${2:ClassName}  
  142.     {  
  143.         ${3}  
  144.         function ${4:__construct}(${5:argument})  
  145.         {  
  146.             ${6:// code...}  
  147.         }  
  148.     }  
  149. # define(...)  
  150. snippet def  
  151.     define('${1}'${2});${3}  
  152. # defined(...)  
  153. snippet def?  
  154.     ${1}defined('${2}')${3}  
  155. snippet wh  
  156.     while (${1:/* condition */}) {  
  157.         ${2:// code...}  
  158.     }  
  159. do ... while  
  160. snippet do  
  161.     do {  
  162.         ${2:// code... }  
  163.     } while (${1:/* condition */});  
  164. snippet if  
  165.     if (${1:/* condition */}) {  
  166.         ${2:// code...}  
  167.     }  
  168. snippet ife  
  169.     if (${1:/* condition */}) {  
  170.         ${2:// code...}  
  171.     } else {  
  172.         ${3:// code...}  
  173.     }  
  174.     ${4}  
  175. snippet else  
  176.     else {  
  177.         ${1:// code...}  
  178.     }  
  179. snippet elseif  
  180.     elseif (${1:/* condition */}) {  
  181.         ${2:// code...}  
  182.     }  
  183. # Tertiary conditional  
  184. snippet t  
  185.     $${1:retVal} = (${2:condition}) ? ${3:a} : ${4:b};${5}  
  186. snippet switch  
  187.     switch ($${1:variable}) {  
  188.         case '${2:value}':  
  189.             ${3:// code...}  
  190.             break;  
  191.         ${5}  
  192.         default:  
  193.             ${4:// code...}  
  194.             break;  
  195.     }  
  196. snippet case  
  197.     case '${1:value}':  
  198.         ${2:// code...}  
  199.         break;${3}  
  200. snippet for  
  201.     for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {  
  202.         ${4// code...}  
  203.     }  
  204. snippet foreach  
  205.     foreach ($${1:variable} as $${2:key}) {  
  206.         ${3:// code...}  
  207.     }  
  208. snippet fun  
  209.     ${1:public }function ${2:FunctionName}(${3})  
  210.     {  
  211.         ${4:// code...}  
  212.     }  
  213. # $... = array (...)  
  214. snippet array  
  215.     $${1:arrayName} = array('${2}' => ${3});${4}  
分享到:
评论

相关推荐

    史上最佳vim配置带插件包 自动补全智能提示飞一般的写代码

    首先,自动补全是该配置的一大亮点。无需按下Tab键,用户就能在输入过程中看到可能的补全选项,这极大地提高了编码速度。对于Python,补全不仅包括标准库,还可能包含当前项目中的自定义模块和函数。对于HTML、CSS、...

    vim 代码自动提示,自动补全 安装包 autocomplpop

    在编程过程中,代码自动提示和自动补全是提高效率的重要工具,这正是 `autocomplpop` 插件的功能所在。这个插件是 Vim 用户为了实现类似于其他现代IDE的代码补全体验而开发的,它可以与 `L9`(Vim9脚本)一起工作,...

    在vim中针对c++自动补全

    "在vim中针对c++自动补全" Vim是UNIX世界中最流行的文本编辑器之一,其中的一大特点就是...通过安装OmniCppComplete插件、创建标签文件、配置自动补全行为,可以在Vim中实现针对C++的自动补全功能,从而提高编程效率。

    SourceInsight与vim代码补全配置

    在这里,你可以定制补全的触发键,如“Ctrl+Space”,并选择自动补全的时机,如输入特定字符后自动触发。此外,Source Insight 支持自定义代码库,通过导入项目或头文件,可以增强补全的准确性。 Vim,作为一个历史...

    vim配置(程序自动补全)

    使用过Source Insight的人一定对它的自动补全功能印象深刻,...这里,我将自己用的配置文件发给大家,大家可以移步(待会会补上地址),只要简单的两步,就能实现vim的程序自动补全功能,大大增加了在vim上的开发效率。

    linux下vim的自动补全的插件

    然而,相比其他现代化的编辑器,如Sublime Text,Vim在默认配置下缺少一些便捷功能,例如代码自动补全。不过,得益于Vim的可扩展性,我们可以安装插件来实现这些功能。"linux下vim的自动补全的插件"正是这样一个话题...

    最全vim配置,解压既能用vim。集成了常用的插件包 自动补全智能提示飞一般的写代码

    集成了常用的插件包 自动补全智能提示飞一般的写代码。 就像一个轻量级IDE,文件目录浏览和函数列表显示功能一应俱全。 无需在额外任何配置,解压既能用。 详细介绍和使用参见个人博客:...

    vim(gvim)插件——PHP语言自动补全

    标题"vim(gvim)插件——PHP语言自动补全"指的是在Vim或GVim环境中安装一个插件,这个插件专门用于为PHP编程提供代码补全功能。自动补全是一种非常实用的功能,它能在编写代码时根据上下文提示可能的函数、类、方法...

    新版gvim代码补全插件vim-snipmate0.87

    vim官方脚本snipmate绿色覆盖更新到0.83版本后停止更新了。 新版vim-snipmate0.87,官方下载更新地址如下 https://github.com/garbas/vim-snipmate 由于新手可能不会安装,现在制作了如vim官方的绿色版本直接覆盖目录...

    linux-VimEasyComplete一个简单轻便的VIM自动补全插件

    这个插件为VIM(一个强大的文本编辑器)添加了自动补全功能,使得代码编写过程更加流畅和高效。 VIM(Vi Improved)是一个高度可定制和功能丰富的文本编辑器,它在程序员和系统管理员中非常受欢迎,因为它可以在...

    vim插件和配置 for Linux 自动补全 IDE

    就可以在vim中使用快捷键F12来随时生成当前目录下的tags,这样后续配好omni自动补全以后,自己工程下定义的类中的public成员,也可以通过. :: -&gt;来自动补全了。全局定义的查找。局部的符号不会生成tags,这个要使用...

    超强配置带自动补全功能的vim

    在"超强配置带自动补全功能的vim"主题下,我们将深入探讨如何通过配置Vim来实现高效的代码补全功能。 首先,Vim的自动补全功能可以极大地提高开发效率,因为它允许我们在编写代码时快速查找和插入可能的语句、函数...

    vim插件 java代码自动补齐

    "vim插件 java代码自动补齐"就是针对这一需求设计的,旨在为Vim提供Java语言的智能代码补全功能。 这个插件名为"javacomplete",它通过集成在Vim环境中,使用户在编写Java代码时能够享受到类似于IDE的自动完成体验...

    vim插件-配合数字电路systemverilog编程时使用

    其次,Vim的自动补全功能是提高编程效率的关键。`systemverilog.vim`可能包含了对SystemVerilog关键词和自定义函数的补全支持。在编写代码时,只需输入部分关键字,然后按特定快捷键(通常是`&lt;C-x&gt;&lt;C-o&gt;`),Vim就会...

    vim的java自动补全工具

    Java作为广泛应用的编程语言,其开发效率可以通过使用 Vim 的自动补全工具得到显著提升。本篇文章将详细探讨如何在 Vim 中配置和使用 Java 自动补全功能,以及相关提示。 首先,让我们了解 Vim 的自动补全功能。Vim...

    vim插件----代码补全,高亮,文件浏览等等

    本篇文章将深入探讨如何利用Vim插件实现代码补全、语法高亮和文件浏览等功能。 一、代码补全 代码补全是现代开发环境中必不可少的一项功能,它能够帮助程序员快速输入代码,减少出错概率。在Vim中,我们可以使用`...

    设置vim自动补全、大文件、编辑C++文件和html文件

    Vim原生并不包含自动补全功能,但可以通过安装插件来实现。一种常见的选择是`YouCompleteMe`,它提供了强大的代码补全支持,包括C/C++、Python等语言。安装步骤通常包括克隆其GitHub仓库,然后在Vim中运行`:Plugin...

    Go-gocode-Go编程语言的一个代码自动补全守护进程

    Go-gocode是一个专门为Go编程语言设计的代码自动补全工具,它作为一个守护进程运行,为开发者提供实时的代码补全建议,极大地提升了编码效率。在Go语言的开发环境中,gocode是一个非常重要的辅助工具,特别是在编写...

    vim代码补全插件.7z

    而对于OmniCppComplete,需要确保cppcomplete4.vim文件位于正确的位置,并在.vimrc中添加`let g:omnifunc = ' OmniCppComplete#Complete'`来启用C++的自动补全功能。 在Vim中使用代码补全插件,可以显著提升编程...

    vim-c++代码补全.zip

    另外,确保你的Vim已经配置了C++的语法高亮和自动缩进,这样在补全过程中,代码的可读性将得到显著提升。 值得注意的是,虽然vim-c++插件已经很强大,但它并非唯一的选择。Vim社区中有许多其他的C++代码补全解决...

Global site tag (gtag.js) - Google Analytics