When in insert mode, Ctrl-og$ works as expected going to the character AFTER the last one. But Ctrl-o:normal g$ doesn't go to after last char So it seems to be a bug, which I worked around with the following patch. I noticed this when remapping the "end" key so that it went to "end of screen" before "end of line". When in insert mode this would not work as expected. See function End() in http://www.pixelbeat.org/settings/.vimrc Update: Though the problem was acknowledged the fix was rejected because g$ has the additional functionality (only documented in vim 6.3) that after doing g$, subsequent vertical scrolling never goes beyond the current screen col, rather than "sticking" to eol like $ does. I really don't see why one would want that however? The problem could be fixed by adding another state variable, but this would be messy. diff -ru vim-7.0023/src/normal.c vim-7.0023-pb/src/normal.c --- vim-7.0023/src/normal.c 2004-11-18 09:34:23.000000000 +0000 +++ vim-7.0023-pb/src/normal.c 2004-12-21 19:16:06.000000000 +0000 @@ -7341,8 +7341,13 @@ else { i = curwin->w_leftcol + W_WIDTH(curwin) - col_off - 1; - coladvance((colnr_T)i); - curwin->w_set_curswant = TRUE; + if (i < W_WIDTH(curwin)) { + curwin->w_curswant = MAXCOL; + coladvance((colnr_T)i); + } else { + coladvance((colnr_T)i); + curwin->w_set_curswant = TRUE; + } } } break;