diff options
Diffstat (limited to 'plugin/charadd.vim')
-rw-r--r-- | plugin/charadd.vim | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/plugin/charadd.vim b/plugin/charadd.vim index b8d25bf..b1d0912 100644 --- a/plugin/charadd.vim +++ b/plugin/charadd.vim @@ -12,16 +12,31 @@ " cxx, cXX, cgxx, cgXX to operate on lines. " -noremap <silent> cx <cmd>call <sid>set_dir(v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@ -nnoremap <silent> cxx <cmd>call <sid>set_dir(v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@_ -noremap <silent> cX <cmd>call <sid>set_dir(-v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@ -nnoremap <silent> cXX <cmd>call <sid>set_dir(-v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@_ +if !exists('g:charadd_include_bindings') + let g:charadd_include_bindings = 1 +endif +noremap <silent> <Plug>(add-char) <cmd>call <sid>set_dir( v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@ +nnoremap <silent> <Plug>(add-char-line) <cmd>call <sid>set_dir( v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@_ +noremap <silent> <Plug>(sub-char) <cmd>call <sid>set_dir(-v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@ +nnoremap <silent> <Plug>(sub-char-line) <cmd>call <sid>set_dir(-v:count1,0)<bar>set operatorfunc=<sid>charadd<cr>g@_ -noremap <silent> cgx <cmd>call <sid>set_dir(v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@ -nnoremap <silent> cgxx <cmd>call <sid>set_dir(v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@_ -noremap <silent> cgX <cmd>call <sid>set_dir(-v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@ -nnoremap <silent> cgXX <cmd>call <sid>set_dir(-v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@_ +noremap <silent> <Plug>(add-char-all) <cmd>call <sid>set_dir( v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@ +nnoremap <silent> <Plug>(add-char-all-line) <cmd>call <sid>set_dir( v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@_ +noremap <silent> <Plug>(sub-char-all) <cmd>call <sid>set_dir(-v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@ +nnoremap <silent> <Plug>(sub-char-all-line) <cmd>call <sid>set_dir(-v:count1,1)<bar>set operatorfunc=<sid>charadd<cr>g@_ + +if g:charadd_include_bindings + noremap cx <Plug>(add-char) + noremap cxx <Plug>(add-char-line) + noremap cX <Plug>(sub-char) + noremap cXX <Plug>(sub-char-line) + + noremap cgx <Plug>(add-char-all) + noremap cgxx <Plug>(add-char-all-line) + noremap cgX <Plug>(sub-char-all) + noremap cgXX <Plug>(sub-char-all-line) +endif let s:dir = 1 let s:incl = 0 |