On Jul 19, 3:11 am, "Christian Brabandt" <cbli...@256bit.org> wrote:
> On Thu, July 19, 2012 08:20, sinbad wrote:
> > with the following insert mode mapping, if i type "test<space>oe", i'll
> > get
> > double space between "test  one", can i change the mapping to always have
> > atmost one <space>
>
> > inoremap oe <space>one<space>
>
> Use an expression mapping:
>
> fu! Map(arg)
>    return (col('.') == 1 || getline('.')[col('.')-2] =~ '\S' ? ' ' : '').
> a:arg. ' '
> endfu
>
> iunmap oe
> inoremap <expr> oe Map('oe')
>
> regards,
> Christian

can we perform some action inside the map function.
i have this "  normal /;<CR>" inside the Map(), it doesn't
seem to be working, it just prints '0', can't map functions do that ?

-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to