vim-jp / issues

有志で既知のバグや要望を検討・管理し、オフィシャルへの還元をしていきます。
https://vim-jp.org/
339 stars 11 forks source link

Gvimでvnew,vsplitの正しい動作は? #1260

Open iranoan opened 5 years ago

iranoan commented 5 years ago

質問の内容

$ vim --clean -g

で起動後

:rightbelow vnew | q
:vsplit | q

した時の正しい動作を教えて下さい

前者のように右にカーソルがる状態だと、ウィンドウの横幅が縮まり、左に有る場合だと伸びます ただこれが、Ubuntu を使っているので、複数のvimで試してみたのですが、

$ vim.gkt -g

だと上の通りなのですが、

$ vim.gtk3 -g

だと、vnew/vsplit をした時にウィンドウが広がり、ウィンドウを閉じた時点で元の幅に戻ります これがが正しい動作ですか

$ diff \<( vim.gtk --version ) \<( vim.gtk3 --version ) も見ては見ましたが、関係が有るかも解りません

5c5 \< Huge 版 with GTK2 GUI. 機能の一覧 有効(+)/無効(-) --- > Huge 版 with GTK3 GUI. 機能の一覧 有効(+)/無効(-) 27c27 \< +cursorshape +lua +ruby +X11

> +cursorshape +lua -ruby +X11 47,48c47,48 \< コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-SKXyA9/vim-8.0.1766=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 \< リンク: gcc -L. -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfribidi -lfontconfig -lfreetype -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm -lruby-2.5 -lpthread -lgmp -ldl -lcrypt -lm --- > コンパイル: 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/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -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/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-SKXyA9/vim-8.0.1766=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 > リンク: gcc -Wl,-E -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -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 -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl -lselinux -lacl -lattr -lgpm -ldl -L/usr/lib -llua5.2 -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm -L/usr/lib/x86_64-linux-gnu -ltcl8.6 -ldl -lz -lpthread -lm

Vimのバージョン

$ vim --version VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 05 2018 21:42:14) 適用済パッチ: 1-1766 Modified by pkg-vim-maintainers@lists.alioth.debian.org Compiled by pkg-vim-maintainers@lists.alioth.debian.org

OSの種類/ディストリ/バージョン

$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.10 Release: 18.10 Codename: cosmic $ uname -a Linux XXX 4.18.0-18-generic #19-Ubuntu SMP Tue Apr 2 18:13:16 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

使用している or 関係していそうなプラグイン

なし

h-east commented 5 years ago

'guioptions'Lが含まれている時の挙動のお話ですね。 ウィンドウはVimのウィンドウではなくて、GTKのウィンドウですね。

$ vim --clean -g +"set go=L"

で再現しました。

:vsplit
:q

だと :vsplitでウィンドウ横幅が左スクロールバー幅分増えて、:qでもとに戻るのですが、

:vsplit | q

は実行する度にウィンドウ横幅が2カラム分?ずつ増えていきます。これはバグですね。 (:rightbelow vnew | qでも同様の現象)

OS: fedora 29 Vimバージョン:

VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 19 2019 01:06:38)
Included patches: 1-1183
Compiled by h_east@localhost.localdomain
Huge version with GTK2-GNOME GUI.
iranoan commented 5 years ago

'guioptions'Lが含まれている時の挙動のお話ですね。

オプションも関係するかまで確認していませんでした ありがとうございます

ウィンドウはVimのウィンドウではなくて、GTKのウィンドウですね。

はいそうです

:vsplit | q

は実行する度にウィンドウ横幅が2カラム分?ずつ増えていきます。これはバグですね。 (:rightbelow vnew | qでも同様の現象)

私の環境だと、こちらは逆に横幅が減っていく (set number だと顕著) 点は違いますが、バグだと解りスッキリしました

どうもありがとございました