(PHP)プログラマのためのVIM (11) - PHP向けカスタマイズ(3) Andreiがつかってるプラグイン
Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。訳は微妙です。
- 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources
- この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな
- カーソル位置・カーソル移動・マーク・挿入
- 削除・検索
- 置換・テキストオブジェクト
- コピー/削除/貼り付け、レジスタ
- undo
- ビジュアルモード、ウィンドウ、タブ
- 補完・マップ・オプション
- セッション、misc、ヘルプ
- PHP向けカスタマイズ
- PHP向けカスタマイズ(2) タグ・補完・netrw
タグリスト (taglist)
- ソースコードの概観を提示してくれる
- クラス、関数、定数にすばやくジャンプできる
- バッファを切り替えたときに自動で更新してくれる
- プロトタイプとタグのスコープを表示できる
- Exuberant Ctagsが必要
- (補足) 参考: Exuberant Ctags — 名無しのvim使い
- これを
~/.vim/after/plugin/general.vim
に貼り付ける
let Tlist_Ctags_Cmd = "/usr/local/bin/ctags-ex" let Tlist_Inc_Winwidth = 1 let Tlist_Exit_OnlyWindow = 1 let Tlist_File_Fold_Auto_Close = 1 let Tlist_Process_File_Always = 1 let Tlist_Enable_Fold_Column = 0 let tlist_php_settings = 'php;c:class;d:constant;f:function' if exists('loaded_taglist') nmap <silent> <F8> :TlistToggle<CR> endif
snippetsEmu
- TextMate(mac用のエディタ)のSnippets機能のいくらかをエミュレートしてくれます
- 多くの言語をサポートしており、PHP/HTML/CSS/JavaScriptも含まれてます
- デフォルトはタブキーにバインドされるんだけど、それうざい
- 読み込み後にキーをリマップする必要がある
- これを
~/.vim/after/plugin/general.vim
に追記
if exists('loaded_snippet') imap <C-B> <Plug>Jumper endif inoremap <Tab> <C-R>=MyTabOrComplete()<CR>
php documentor
- 自動でPHP Documentor形式のブロックを挿入してくれる
- 単一行・複数行モードのどちらも動作する
- デフォルトではマッピングをしない
- ドキュメントを読んでcopyright, packageなどのデフォルト値を設定してください
- これを
~/.vim/ftplugin/php.vim
に挿入
inoremap <buffer> <C-P> nnoremap <buffer> <C-P> vnoremap <buffer> <C-P> let g:pdv_cfg_Uses = 1
リソース
おわり
以上、11回に渡りお届けしました。