Vim で operator 実行時にカーソルを移動させないような operator をつくった

さて、Vim で operator を実行するとカーソル位置が入力した motion の先頭へと移動してしまします。
これは c や d のようなバッファを変更する operator であれば便利なんですが、y などのバッファを変更しない operator であれば無駄にカーソルが移動してしまうだけなので不便と感じる事があります。
と、いうことで任意の operator の実行時にカーソルを移動させないようにするラッパー operator をつくりました。

[プラグイン]

NeoBundle 'kana/vim-operator-user'
NeoBundle 'osyo-manga/vim-operator-stay-cursor'

[使い方]

移動したくない operator を operator#stay_cursor#wrapper() でラップして使用します。

" 任意の operator に対して移動しないようにさせる
map <expr> c operator#stay_cursor#wrapper("c")

" remap を呼び出すようにする
map <expr> s operator#stay_cursor#wrapper("\<Plug>(operator-replace)", { "noremap" : 0 })

また、以下のマッピングはデフォルトで定義されています。

" y
<Plug>(operator-stay-cursor-yank)
" d
<Plug>(operator-stay-cursor-delete)
" c
<Plug>(operator-stay-cursor-change)
" operator-replace
<Plug>(operator-stay-cursor-replace)
" gu
<Plug>(operator-stay-cursor-gu)
" gU
<Plug>(operator-stay-cursor-gU)

[所感]

Vim に慣れていると yank 時にカーソルが移動しないのはすごく気持ち悪く感じるんですが、それなりに便利そうだとは思います。
特に textobj の範囲が広い場合(textobj-indent とか)などだと有効だと思います。
要望や問題があれば Issues までお願いします。