tags:

views:

99

answers:

2

Hi. One frustrating behavior in vim is that when i move my cursor right or left (respectively "l" or "h)" and i am at the end or the beginning of the line, my cursor doesn't move to first column of next line or last column of previous line.

Is there a way to change this behavior ?

A: 

Put the following into your .vimrc:

set whichwrap+=<,>,[,]
Matti Virkkunen
+3  A: 

You can use the whichwrap setting to make h and l wrap around the start and end of individual lines:

set whichwrap+=h,l

However, Vim's documentation recommends against this, probably because it could have unexpected side effects (like breaking plugins, or changing how common key mappings work).

As an alternative, you can do what what Matti Virkkunen recommended:

set whichwrap+=<,>,[,]

This leaves h and l with their default behavior, but allows the left and right arrow keys to wrap around lines. (This is what I do, and it works well.)

You might also want to take a look at the backspace setting, to control how Backspace, Delete, Control+W, and Control+U work in Insert mode. I set mine like this:

set backspace=indent,eol,start

That allows me to backspace over pretty much everything.

For more info, see these topics in the Vim help:

:help 'whichwrap
:help 'backspace
Bill Odom