gregsexton / gitv

gitk for Vim.
938 stars 59 forks source link

Gitv changes the global splitright and splitbelow settings #133

Open sankhesh opened 6 years ago

sankhesh commented 6 years ago

Creating issue from: https://github.com/gregsexton/gitv/commit/b0e34a7f87ae6d339ade0b4b69d836ea947a0e35#commitcomment-29469294

I can confirm that Gitv overwrites the splitbelow and splitright settings for all buffers.


Gitv debug output

Basic information

Version: 1.3.1.22
Mon 25 Jun 2018 05:23:24 PM EDT

Settings

--- Options ---
  autoindent          colorcolumn=80      foldlevel=4         helplang=en         incsearch           number              scroll=26           smartcase           splitright          ttymouse=xterm
  background=dark     cursorline          foldlevelstart=4    hlsearch            laststatus=2        pastetoggle=<F2>    shiftwidth=2        softtabstop=2       textwidth=80
  cindent             expandtab           foldmethod=syntax   ignorecase          mouse=a             ruler               showmatch           splitbelow          ttyfast
  backspace=indent,eol,start
  cinoptions=g0,l1,c0,(0,m0
  completeopt=menuone,menu,longest,preview
  directory=~/.cache/vim/swap//
  fileencodings=ucs-bom,utf-8,default,latin1
  listchars=tab:▸ ,eol:¬,space:٠
  makeprg=ninja -C ../bld
  matchpairs=(:),{:},[:],<:>
  runtimepath=~/.vim,~/.vim/plugged/vim-fugitive,~/.vim/plugged/gitv
  sessionoptions=blank,buffers,curdir,help,tabpages,winsize,terminal
  suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg
  switchbuf=usetab,newtab
  tabline=%!MyTabLine()
  term=screen-256color
  ttytype=screen-256color
  wildignore=*.swp,*.bak,*.pyc,*.class

Vim version

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled May 13 2018 19:34:14)
Included patches: 1-1838
Compiled by Arch Linux
Huge version with GTK3 GUI.  Features included (+) or not (-):
+acl               +clientserver      +dialog_con_gui    +find_in_path      +keymap            +modify_fname      +multi_byte        +profile           +statusline        +textobjects       +wildignore
+arabic            +clipboard         +diff              +float             +lambda            +mouse             +multi_lang        +python/dyn        -sun_workshop      +timers            +wildmenu
+autocmd           +cmdline_compl     +digraphs          +folding           +langmap           +mouseshape        -mzscheme          +python3/dyn       +syntax            +title             +windows
-autoservername    +cmdline_hist      +dnd               -footer            +libcall           +mouse_dec         +netbeans_intg     +quickfix          +tag_binary        +toolbar           +writebackup
+balloon_eval      +cmdline_info      -ebcdic            +fork()            +linebreak         +mouse_gpm         +num64             +reltime           +tag_old_static    +user_commands     +X11
+balloon_eval_term +comments          +emacs_tags        +gettext           +lispindent        -mouse_jsbterm     +packages          +rightleft         -tag_any_white     +vertsplit         -xfontset
+browse            +conceal           +eval              -hangul_input      +listcmds          +mouse_netterm     +path_extra        +ruby/dyn          +tcl/dyn           +virtualedit       +xim
++builtin_terms    +cryptv            +ex_extra          +iconv             +localmap          +mouse_sgr         +perl/dyn          +scrollbind        +termguicolors     +visual            -xpm
+byte_offset       +cscope            +extra_search      +insert_expand     +lua/dyn           -mouse_sysmouse    +persistent_undo   +signs             +terminal          +visualextra       +xsmp_interact
+channel           +cursorbind        +farsi             +job               +menu              +mouse_urxvt       +postscript        +smartindent       +terminfo          +viminfo           +xterm_clipboard
+cindent           +cursorshape       +file_in_path      +jumplist          +mksession         +mouse_xterm       +printer           +startuptime       +termresponse      +vreplace          -xterm_save
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr
/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr
/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=
generic -O2 -pipe -fstack-protector-strong -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.26/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,rel
ro,-z,now -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lfribidi -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXt -l
X11 -lXdmcp -lSM -lICE  -lm -ltinfo -lelf -lnsl    -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.26/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -L/usr
/local/lib  -L/usr/lib/perl5/5.26/core_perl/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc   -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm

Git output

$ git --version
git version 2.17.0
andreasthoelke commented 5 years ago

I am seeing the same issue. Also the proposed vim/after/ftplugin/gitv.vim workaround works for me.

rbong commented 5 years ago

You will encounter bugs without the nosplitright/nosplitbelow option.

I am still testing, but until then, I've removed setting nosplitright/nosplitbelow on the dev branch. Right now, the split directions are manually set, but the user-defined split direction should be respected in 1.4.1