From bc0761fde402c7b0edb16afe7ef6a559681cdf06 Mon Sep 17 00:00:00 2001 From: jluehrs2 Date: Wed, 30 Apr 2008 16:43:51 -0500 Subject: use recursion to make this cleaner, and use gE rather than if the character before a comma is a non-whitespace character --- vimrc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/vimrc b/vimrc index 092c92c..887ccc3 100644 --- a/vimrc +++ b/vimrc @@ -408,15 +408,16 @@ function Textobj_arg(inner, count) let pos = getpos('.') let curchar = getline(pos[1])[pos[2] - 1] if curchar == ',' - exe "normal! \" - let pos = getpos('.') - let curchar = getline(pos[1])[pos[2] - 1] - endif - while curchar =~ '\s' + if getline(pos[1])[pos[2] - 2] =~ '\s' + normal! gE + else + exe "normal! \" + endif + return Textobj_arg(a:inner, a:count) + elseif curchar =~ '\s' normal! W - let pos = getpos('.') - let curchar = getline(pos[1])[pos[2] - 1] - endwhile + return Textobj_arg(a:inner, a:count) + endif let line = strpart(getline(pos[1]), 0, pos[2]) let lines = getline(1, pos[1] - 1) + [line] -- cgit v1.2.3