title: Vim buffer position change on window split (annoyance)
body: <p>This is really starting to get on my nerves, which is weird because it's such a small issue.</p>
  
  <p>Let's say I start (g)vim 7.3 (windows OR linux) with no plugins/no vimrc. I open a longer file, scroll down halfway. I position my cursor at the bottom of the main window. I open a vertical split window (CTRL+W v).</p>
  
  <p>What happens next is killing me. The cursor and the line it's on (previously at the bottom of the original window) <em>jump up</em> to the top of the window. The new window on the right has the original position where the line the cursor is on was in the original window.</p>
  
  <p><img src="https://i.stack.imgur.com/bmpf6.jpg" alt="enter image description here"></p>
  
  <p>My question: How do I keep vim from changing the cursor position of the window I split? Honestly, I wouldn't care at all if the position changed in the <em>new</em> window, but the fact that splitting changes the original window is making me want to tear my hair out.</p>
  
  <p>It used to be completely ignorable. Then I got kind of annoyed. Then I slowly started getting really annoyed. Now it's starting to make me furious. Any help/tricks/hacks are greatly appreciated!!</p>
  
  <p>EDIT: My vim build options for both Windows and Linux (happening on both):</p>
  
  <p>Windows:</p>
  
  <pre><code>+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent
  +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
  +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
  -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path
  +find_in_path +float +folding -footer +gettext/dyn -hangul_input +iconv/dyn
  +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent
  +listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
  +multi_byte +multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl
  +persistent_undo -postscript +printer -profile -python -python3 +quickfix
  +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +startuptime
  +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white
  -tcl -tgetent -termresponse +textobjects +title -toolbar +user_commands
  +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore
  +wildmenu +windows +writebackup -xfontset -xim -xterm_save -xpm_w32
     system vimrc file: "$VIM\vimrc"
       user vimrc file: "$HOME\_vimrc"
   2nd user vimrc file: "$VIM\_vimrc"
        user exrc file: "$HOME\_exrc"
    2nd user exrc file: "$VIM\_exrc"
  Compilation: cl -c /W3 /nologo  -I. -Iproto -DHAVE_PATHDEF -DWIN32   -DFEAT_CSCOPE       -DWINVER=0x0400 -D_WIN32_WINNT=0x0400  /Fo.\ObjC/ /Ox /GL -DNDEBUG  /Zl /MT -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_BIG /Fd.\ObjC/ /Zi
  Linking: link /RELEASE /nologo /subsystem:console /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib  comdlg32.lib ole32.lib uuid.lib /machine:i386 /nodefaultlib  libcmt.lib   user32.lib             /PDB:vim.pdb -debug
  </code></pre>
  
  <p>Linux:</p>
  
  <pre><code>-arabic +autocmd +balloon_eval +browse +builtin_terms +byte_offset +cindent 
  +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
  -conceal +cryptv -cscope +cursorbind +cursorshape +dialog_con_gui +diff 
  +digraphs +dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi 
  +file_in_path +find_in_path +float +folding -footer +fork() +gettext 
  -hangul_input +iconv +insert_expand +jumplist -keymap -langmap +libcall 
  +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname 
  +mouse +mouseshape -mouse_dec +mouse_gpm -mouse_jsbterm -mouse_netterm 
  -mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg 
  -osfiletype +path_extra -perl +persistent_undo +postscript +printer -profile 
  +python -python3 +quickfix +reltime -rightleft -ruby +scrollbind +signs 
  +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary 
  +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
   +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
  +vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim 
  +xsmp_interact +xterm_clipboard -xterm_save 
     system vimrc file: "$VIM/vimrc"
       user vimrc file: "$HOME/.vimrc"
        user exrc file: "$HOME/.exrc"
    system gvimrc file: "$VIM/gvimrc"
      user gvimrc file: "$HOME/.gvimrc"
      system menu file: "$VIMRUNTIME/menu.vim"
    fall-back for $VIM: "/usr/local/share/vim"
  Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14     -g -O2 -D_FORTIFY_SOURCE=1      
  Linking: gcc   -L/usr/local/lib -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -lXt -lncurses -lacl -lgpm     -L/usr/lib64/python2.6/config -lpython2.6 -lpthread -lutil -lm -Xlinker -export-dynamic     
  </code></pre>