2008年7月16日水曜日

Vim での括弧自動補完

ここでの内容を基に、自分なりにカスタマイズしてみる。
" 括弧と引用符の補完
inoremap  (   ()
inoremap  ()  ()
inoremap  <   <>
inoremap  <>  <>
inoremap  [   []
inoremap  []  []
inoremap  {   {}
inoremap  {}  {}
inoremap  "   ""
inoremap  ""  ""
inoremap  '   ''
inoremap  ''  ''
問題点:
  1. It's のようなアポストロフィには未対応
    It's'  となってしまう
  2. 先に閉じ括弧を入力していた場合にも未対応
    ()) ← こうなる
    まぁ、これはどうでもいいや
  3. 引用符をコメント開始の記号にしているファイルタイプには未対応
    vim とか、vb とか
    特に、vim なんて二重引用符がコメントにも文字列リテラルにもなるし…
一番の問題は 1 なんだけど、これを解決しようとするとなると、やっぱりスクリプトを書かないといけない気がする。面倒。

1 のケースでは、カーソル位置が
It's|'
に来るのだから単純に <Del> を一回押してよ、と思うし。これもどうでも良いや。

0 件のコメント: