Very odd. I've had several files that if my cursor is towards the end of a line and I switch projects, or open SE to that project, it will frequently exhibit that nasty behavior of placing the cursor at position 6 in the viewing window and shift the source over. It seems to be very obstinate about that position. (Are you sure you haven't programmed SE with an attitude? :-)
Seriously, it does get very annoying.
I went through several different workspace switches and captured the following:
(remaining is character in line after the cursor to end of line not including trailing newlines)
One project/workspace:
Cursor placed at row 1, col 3 (physically line 48, col 19) w/ 10 characters remaining after cursor
Cursor placed at row 1, col 5 (physically line 31, col 17) w/ 12 characters remaining
after cursor
Cursor placed at row 1, col 6 (physically line 294, col 25) w/ 21 characters remaining after cursor
Cursor placed at row 1, col 6 (physically line 735, col 42) w/ 0 characters remaining after cursor
Cursor placed at row 1, col 6 (physically line 146, col 17) w/ 0 characters ramaining after cursor
Another project/workspace:
Cursor placed at row 1, col 6 (physically line 110, col 68) w/ 7 characters remaining after cursor
Cursor placed at row 1, col 6 (physically line 37, col 19) w/ 43 characters remaining after cursor
The above was just switching workspaces within SE. Closing and reopening SE and repeating the steps of opening different workspaces with multiple windows open finds at least some windows that exhibit this issue.
My workaround (which is rather annoying) is to vim-key ^ to beginning of line and then resume my editing for each file that does this.