On Thu, Nov 25, 2010 at 5:06 AM, Tim Chase <[email protected]> wrote:
> On 11/25/2010 02:04 AM, David Lam wrote: > >> I've been doing a lot of work in XQuery, where the convention is for >> variable and function names to be hyphenated: >> >> let $this-is-some-variable := this:is-some-function() >> >> ...and to complete '$this-is-some-variable', I'd like to type '$th<C-p>, >> but by default that only completes to '$this' >> >> On the other hand, I know I can do :set iskeyword+=- to make it complete >> all >> the way, but it has the side effect in that it >> makes the basic word motion commands move a lot further than I want them >> to. >> >> anyone know any way to achieve this? >> > > My first thought would be to do something like > > :au InsertEnter *.xquery :set isk+=- > :au InsertLeave *.xquery :set isk-=- > > It doesn't catch the edge-case if you hit ctrl+C in insert-mode (so you'd > have to manually remove the "-" from 'isk' in that case; see the note at > ":help InsertLeave" about ^C). > > From some basic testing, it seems to do what you want: in insert-mode, > ^N/^P expansions treat "-" as part of a word, expanding whole XQuery tokens; > in normal-mode, you get "word" motions interrupted by the "-" characters. > > HTH, > > -tim > cool! works great i guess i can just 'imap <C-c> <ESC>' to make it still work for ^C, hopefully that dosent have side effects for other vimscripts -- 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
