Vim的snipMate外掛 php程式碼自動補全

jiufreeman發表於2020-04-07

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}  

相關文章