tags:

views:

741

answers:

5

Is there a way to keep the cusror location off-screen in Vim / gVim while scrolling? Similar to many Windows editors.
I know about marks, and do use them. I also know the '.' mark (last edit location), But looking for other ideas. I'm asking this because sometimes i want to keep the cursor at some location, scroll to another place using the mouse-wheel, and then just press an arow key or something to get me back to that location.

+2  A: 

Google says that the cursor (and therefore current line) must be visible in Vi, so you'll have to use marks.

Andrew Coleson
i thought so too, but just wanted to make sure from fellow vimmers.
Ayman
+8  A: 

Why don't you split the window, look at what you wanted to look at, and then close the split?

:split

or

:vsplit (if you want to split vertically)
jthompson
... which can be abbreviated to :sp and :vs
Stephan202
oooh I learn stuff everyday...
ojblass
I'm actually more used to using Ctrl+W,S and Ctrl+W,V rather than the commands...
tomasr
+13  A: 

No. vim is a console application, so it doesn't really make sense to have the cursour off-screen (it's possible, but would just be confusing)

An alternative solution, to paraphrase posts from this thread from comp.editors:

Ctrl+o goes to the previous cursor location, Ctrl+i goes to the next (like undo/redo for motions)

Marks seem like the other solution..

Also, use marks. Marks are named by letters. For instance typing ma remembers the current location under mark a. To jump to the line containing mark a, type 'a. To the exact location use `a.

Lower-case-letter marks are per-file. Upper-case-letter marks are global; `A will switch to the file containing mark A, to the exact location.

Basically ma, move around, then `a to jump back.

Another option which Paul suggested,

gi command switches Vim to Insert mode and places cursor in the same position as where Insert mode was stopped last time.

dbr
"vim is a console application" - yeh gVim/MacVim are GUI applications, but they are ports/extensions to the console vim, and can't really change too much
dbr
Should also add in Paul's response below.
Andrew Coleson
+6  A: 

Sometimes you can avoid jumping to marks before entering text — gi command switches Vim to Insert mode and places cursor in the same position as where Insert mode was stopped last time.

Paul
+1  A: 

Also very useful are the '' (2x single quotes) and `` (2x back quotes). The former jumps back to the line you were prior to the last jump (for instance, a page down). The latter jumps back to the line and column you were prior to the last jump.

Leonardo Constantino