PHPデバッグのためのvimscript
2007/06/02
そして、タイピングの効率化はエディタ側で行うべき。
http://d.hatena.ne.jp/kenji-u/20070531/p1
<C-d>を押せば、var_dumpのためのコードを書いてダンプする変数名を書くところでインサートモードになる。だから、後は変数名を書くだけになります。コマンドモードのときも、インサートモードのときも気にせず使えます。
※exitを入れないようにしました。
func! s:WritePRE() execute "normal! iecho '<pre>';\<CR>var_dump($);\<CR>echo '</pre>';\<ESC>-f)" execute 'startinsert' endfunc inoremap <silent> <C-d> \<ESC>:call <SID>WritePRE()<CR> nnoremap <silent> <C-d> :call <SID>WritePRE()<CR>
でも
個人的には、タイピングの効率化はプログラム側で行うべき。と思う。
どうでもいいんですが、「d()を使ってください。」と「MySmarty使ってください。」は、方法論的に同じような気がするんですが、どうなんでしょうかね。
真面目にデバッグの工数減らすことを考えるなら、ログを出力する短かい名前の関数を作ると思う。ソースが短かくなる方が嬉しいと思った。
コメントありがとうございます!
> 「d()を使ってください。」と「MySmarty使ってください。」は <snip>
htmlspecialchars()の代わりにh()を定義するのではなく、
Smartyを例にすると、必ずassign()という発生するフローに入れるべきというものになります。
デバッグ(var_dump)のお話とは別段落となっていますので、念のため ^^
ご提示された<C-d>でのvar_dump()と、d()を作成し、
・わざわざみんなに周知
・関数衝突のリスク
:
:
等を考えると、どちらがスマートかなぁと。。。
# エディタ環境は強制できないですし、また元々書いた方は半分ネタで書いただけだと思いますが ^^