snippetsEmuを導入する。

MacTextMate'sというエディタのすにぺっとをエミュレートするナイスなプラグイン

$ cd ~/src
$ wget http://www.vim.org/scripts/download_script.php?src_id=8450
$ mkdir -p ~/.vim/after/ftplugin
$ vim snippy_plugin.vba

コマンドモードで

:so %
:q

昔は一緒にインストールされたんだけど、php用のすにぺっとファイルを以下に保存。

~/.vim/after/ftplungin/php_snippets.vim

内容はこんな感じ。
もともとのファイルをPEARコーディング規約にあわせて修正したり追加したりした記憶。

if !exists('loaded_snippet') || &cp
    finish
endif

let st = g:snip_start_tag
let et = g:snip_end_tag
let cd = g:snip_elem_delim

exec "Snippet php <?php<CR>".st.et."<CR>?>"

exec "Snippet if if (".st."condition".et.") {<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet ifelse if (".st."condition".et.")<CR>{<CR>".st.et."<CR>}<CR>else<CR>{<CR>".st.et."<CR>}<CR>".st.et
exec "Snippet else else {<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet elseif elseif (".st."condition".et.") {<CR><Tab>".st.et."<CR>}<CR>"
exec "Snippet if? $".st."val".et." = (".st.et.")? ".st.et.": ".st.et.";<CR>".st.et
exec "Snippet for for ($".st."i".et." = ".st.et."; $".st."i".et." < ".st.et."; $".st."i".et."++) {<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet foreach foreach ($".st."variable".et." as $".st."key".et." => $".st."value".et.") {<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet while while (".st.et.") {<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet do do {<CR><Tab>".st.et."<CR>} while (".st.et.");<CR>".st.et
exec "Snippet switch switch (".st."variable".et.") {<CR>case ".st.et.":<CR><Tab>".st.et."<CR><Tab>break;<CR>".st.et."<CR>default:<CR><Tab>".st.et."<CR><Tab>break;<CR>}<CR>".st.et
exec "Snippet case case ".st.et.":<CR><Tab>".st.et."<CR><Tab>break;<CR>".st.et

exec "Snippet incll include_once '".st."file".et."';<CR>".st.et
exec "Snippet incl include '".st."file".et."';<CR>".st.et
exec "Snippet req require '".st."file".et."';<CR>".st.et
exec "Snippet reql require_once '".st."file".et."';<CR>".st.et

exec "Snippet function function ".st."functionName".et."(".st.et.")<CR>{<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet define define('".st."CONSTANT".et."', ".st.et.");<CR>".st.et
exec "Snippet array $".st."arrayName".et." = array(".st.et.", ".st.et.");".st.et
exec "Snippet print print \"".st."string".et."\"".st.et.";".st.et."<CR>".st.et

exec "Snippet $_R $_REQUEST['".st."variable".et."']".st.et
exec "Snippet $_S $_SERVER['".st."variable".et."']".st.et
exec "Snippet $_G $_GET['".st."variable".et."']".st.et
exec "Snippet $_P $_POST['".st."variable".et."']".st.et
exec "Snippet $_C $_COOKIE['".st."variable".et."']".st.et
exec "Snippet -globals $GLOBALS['".st."variable".et."']".st.et.st."something".et.st.et.";<CR>".st.et

exec "Snippet class class ".st."ClassName".et."<CR>{<CR><TAB>function __construct(".st.et.")<CR><TAB>{<CR><Tab><Tab>".st.et."<CR><Tab>}<CR><Tab>".st.et."<CR>}<CR>"
exec "Snippet public public function ".st."functionName".et."(".st.et.")<CR>{<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet protected protected function ".st."functionName".et."(".st.et.")<CR>{<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet private private function ".st."functionName".et."(".st.et.")<CR>{<CR><Tab>".st.et."<CR>}<CR>".st.et
exec "Snippet const const ".st."CONSTANT".et." = ".st.et.";<CR>".st.et