PHPデバッグのためのvimscript

そして、タイピングの効率化はエディタ側で行うべき。

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使ってください。」は、方法論的に同じような気がするんですが、どうなんでしょうかね。

真面目にデバッグの工数減らすことを考えるなら、ログを出力する短かい名前の関数を作ると思う。ソースが短かくなる方が嬉しいと思った。

1件のコメント

  • コメントありがとうございます!

    > 「d()を使ってください。」と「MySmarty使ってください。」は <snip>

    htmlspecialchars()の代わりにh()を定義するのではなく、
    Smartyを例にすると、必ずassign()という発生するフローに入れるべきというものになります。
    デバッグ(var_dump)のお話とは別段落となっていますので、念のため ^^

    ご提示された<C-d>でのvar_dump()と、d()を作成し、
    ・わざわざみんなに周知
    ・関数衝突のリスク
      :
      :
    等を考えると、どちらがスマートかなぁと。。。

    # エディタ環境は強制できないですし、また元々書いた方は半分ネタで書いただけだと思いますが ^^

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください