On 26 March 2010 01:56, Tim Chase wrote:

 > Sven Guckes wrote:
 > >
 > > * AK <[email protected]> [2010-03-26 02:11]:
 > > >
 > > > Is there any way to get vim's 'w' command
 > > > (and similar) to move from word to word?
 >
 > [...]

Well a complete definition of what the OP meant by `word'
was not given, but I assumed it to be /\i\+/ which at least
matched the example give.. Let's go with that for the sake
of argument.

 > A nice thought, but given the OP's original condition, it
 > does seem weird that "w" stops where "\<" wouldn't match,
 > and where 'iskeyword' isn't a match. [...]

These days it sounds a bit odd saying this but I guess this
is vi-compatible behaviour.

 > [...] Even more confusing, if you issue
 >
 >  :match Error /\w/
 >
 > it doesn't highlight the "<" or "=" characters as "word"
 > characters, despite the same usage of "word" in the
 > descriptor (per ":help word", a "word" includes sequences
 > of non-whitespace non-keyword characters surrounded by
 > whitespace).  Yes, the help for "\w" explicitly gives the
 > character-class, but that seems in conflict with the
 > definition of "word".  Sigh :-/

Fun fun fun!

 > I agree with the Antony's response that, to get the
 > "intuitive" behavior of jumping between 'isk'-defined
 > "word"s, one would have to do a mapping.  I'd likely use
 >
 >  :nnoremap w /\<lt><cr>
 >  :nnoremap e /\>/e-<cr>
 >  :nnoremap b ?\<lt><cr>
 >
 > (and their kin for visual-mode).  The only oddity is that
 > "w" now respects 'wrapscan'.

Ha! Yes, once you start doing w then you are compelled to do
others as well.

Well, if you're doing it properly you should perhaps map
w to a function. Maybe something along the lines of:

   nno <silent> <buffer> :<C-U>silent call <SID>MyWFunction(v:count1, ...)<CR>
   ono <silent> ... maybe something slightly different ...

Because you just know that there will be corner cases that
require special handling.

 > I originally thought the OP was jesting or had some odd
 > setting; but tried it (with my default vimrc and with "-u
 > NONE") just to make sure, and indeed it doesn't behave as
 > I would have expected.  I can't say I hit it (the "w" or
 > the issue at hand) often because I usually use
 > t/T/f/F/;/, for my horizontal jumping, or use the "iw"
 > text-object for deleting/changing/visualizing the current
 > word.

Well I mostly use / and ? for moving about, but the OP's
question makes a lot of sense to me too. --Antony

-- 
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

To unsubscribe from this group, send email to 
vim_use+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to