sandwich.vim がすこし便利になりました

先日 sandwich.vim にすこし手を入れまして、ちょっとだけ便利になりました。いくつかの新機能をデフォルトで有効にしたのですが、おそらく一番便利なのが関数囲みの追加・削除ができるようになったことだと思います。以前から設定を書けばできていたのですが、やはり面倒ですし設定なしで使えた方がいいですよね。

さて、それがどういったものかというと、例えば saiwf でカーソル下の単語を関数で囲むことができます。 f の入力の後、関数名の入力を求められますので入力して <Enter> を押してください。

arg      -- saiwffunc<Enter> -->     func(arg)

関数名の入力中には <Tab> キーで現在のバッファからの簡単な補完が使えます。また、 <C-f> でコマンドラインウィンドウへ移行すれば通常のインサートモード補完が使え、履歴を使うこともできます。

逆に関数囲みを削除するのは sdf です。

func(arg)       -- sdf -->             arg

sdF も使えます。関数がネストしているとき sdf はカーソル下の関数を削除するのに対し sdF はカーソル位置を囲んでいる関数を消します。

カーソルが 'func2' の上にある場合
func1(func2(arg))  -- sdf -->   func1(arg)
                   -- sdF -->   func2(arg)

というわけでデモです。

Function surroundings demo

他の機能については Wiki をどうぞ。