From a5d22cad51c1ca01ad433d8c7c69fead0cfe3ed9 Mon Sep 17 00:00:00 2001 From: jluehrs2 Date: Fri, 25 Apr 2008 01:35:11 -0500 Subject: hmmm, how about a fold textobj that actually works --- vimrc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/vimrc b/vimrc index 3dc30af..069caab 100644 --- a/vimrc +++ b/vimrc @@ -334,16 +334,18 @@ xnoremap i/ :call Textobj_regex(1, 'v') " }}} " f for folds {{{ function Textobj_fold(inner, operator, count) - if a:inner == 1 - let pos = getpos('.') - exe 'normal! '.a:count.'[zyyp' - call setpos('.', pos) - endif - - exe 'normal! '.a:count.']z'.a:operator.'[z' + exe 'normal! '.a:count.'[z' + let startpos = line('.') + a:inner + normal! ]z + let endpos = line('.') - a:inner + exe 'normal! '.startpos.'G' + exe 'normal! '.a:operator.endpos.'G' - if a:inner == 0 - normal! dd + if a:operator == 'c' + normal! l + startinsert + elseif a:operator == 'v' + normal! $ endif endfunction onoremap af :call Textobj_fold(0, v:operator, v:prevcount) -- cgit v1.2.3-54-g00ecf