gvim再描画の失敗


9

画面の再描画が部分的に失敗するgvimに問題があります。説明するのは難しいですが、テキストファイルを開いてページを下または上に移動すると、テキストファイル全体が正しく再描画されません。再描画する前に、まずカーソルを移動する必要があります。問題が示されているので、ここにスクリーンキャプチャを用意しています。http//www.box.net/shared/l4m1vrffl0dhigi80huz

私が実行する他のすべてのアプリケーションは問題なく、適切に再描画されるため、問題はgvimに限定されているようです。gvimで再現するのは非常に簡単です。コンソールvimは問題ありません。問題はgvimに限定されていると思います。

OSは、Gnome3(compizなし)を実行するnvidiaドライバーを実行するArch linux 3.0です。

unameからの出力

Linuxサイクロプス3.0-ARCH#1 SMP PREEMPT Tue Aug 30 07:32:23 UTC 2011 i686 Intel(R)Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU / Linux

lsmod

lsmod | grep nvidia
nvidia              10225284  40 
agpgart                22096  1 nvidia
i2c_core               16625  2 nvidia,i2c_nforce2

gvim --version

gvim --version VIM-Vi IMproved 7.3(2010年8月15日、2011年9月30日コンパイル2011:05:51:10)含まれるパッチ:1-322 GTK2 GUIを備えたArchLinux Bigバージョンでコンパイル。含まれる機能(+)または含まれない(-):+アラビア語+ 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

システムメニューファイル: "$ VIMRUNTIME / menu.vim"フォールバック$ VIM: "/ usr / share / vim"コンパイル:gcc -c -I。-Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I / usr / include / gtk-2.0 -I / usr / lib / gtk-2.0 / include -I / usr / include / atk-1.0 -I / usr / include / cairo -I /usr/include/gdk-pixbuf-2.0 -I / usr / include / pango-1.0 -I / usr / include / glib-2.0 -I / usr / lib / glib-2.0 / include -I / usr / include / pixman -1 -I / usr / include / freetype2 -I / usr / include / libpng14 -I / usr / local / include -march = i686 -mtune = generic -O2 -pipe -fstack-protector --param = ssp-buffer- size = 4 -D_FORTIFY_SOURCE = 1リンク:gcc -L。-Wl、-hash-style = gnu -Wl、-as-needed -rdynamic -Wl、-export-dynamic -Wl、-E -Wl、-rpath、/ usr / lib / perl5 / core_perl / CORE -Wl 、-O1、-sort-common、-as-needed、-z、relro、-hash-style = gnu -L / usr / local / lib -Wl、


2
私は、Gnome 3のUbuntu 12.10でも同じ問題を抱えています。あなたがインターネット上で私が発見した唯一の人物です。これを投稿してから幸運はありますか?
jakar 2013年

@jakarいいえ私はこれを修正する方法を見つけたことはありません。私はnvidiaドライバーでfc17を実行していますが、問題はもうありませんが、Gnome 3をファンシーモードで使用していません。
sashang 2013年

ええ、私はそれがgvim自体よりもgnome / gtk / xorg / driversに関係していると思います。fc17でも問題はありません(別のマシンでは)、ソースからビルドされたgvimの一致するバージョンを実行しています。ええと、今は一緒に暮らします。少なくとも、私がこれまで見てきた唯一の優れた説明とビデオに感謝します。
jakar 2013年

私もこの問題を抱えています。解決策に本当に興味があります。
Matt Fichman、2014年

2
これは問題91によく似ており、現在のところ、これはgtkライブラリの問題であると推測しています。
Christian Brabandt 2015年

回答:


5

私はこの問題を抱えていて、--syncオプションでgvimを起動することで問題を回避することができました。これにより、X呼び出しが非同期になります。

(私を正しい方向に向けてくれたクリスチャン・ブラバンドのコメントのリンクに感謝します。)


統合されたグラフィックスの上にある仮想ボックスマシンでDebian / 9を実行しているのと同じ問題がありました。再描画がない場合と同じ症状-バッファを分割しても、別のアプリにalt-tabキーを押して戻るまで、表示は更新されません。--syncスイッチで問題が修正されました。
Andrew

0

それはあなたのOS、ビデオカードなどに関する情報を提供するのに役立ちます。GNOME3のように見えます...?

GVIMやその他のアプリを、NVIDIAビデオカードを搭載したウィンドウマネージャーとしてCompizで実行しているときにこのような問題が発生しました。

これまたは他の何かがあなたのケースで役立つかどうか、特にCompizの代わりにMutterを使用している場合、手掛かりはありません。


0

箱から出してバンドルされているもの以外に、どのようなプラグインをVimにジャックしましたか?

通常は安定しているプラ​​グインの1つが少し問題がある可能性があります。はい、GTKは問題を明らかにしていますが、おそらく問題ではありません。ポップアップウィンドウを作成するもの、または一時的にミニバッファーなどを作成するもの。オートコンプリート、スニペット、...追加のプラグインまたは機能の場合は、オフにして、問題が解消するかどうかを確認してください。

ムービーにそのようなポップアップは表示されませんでしたが、プラグインがポップアップを作成して、実際には必要ないことを認識し、ポップアップをクリアしましたが、元々あったコンテンツを再描画していません。

全画面スクロールを行っても、バッファ全体が再描画されるわけではありません。カーソルが明らかにバッファを強制的に近傍を再描画しています。

もちろん、これはGTK / GVimのコアの問題である可能性があります(XやOpenGLはそれとは関係がないと思います)が、私にはそう思われません(ただし、Archは一般的には使用しません)。

そのプラグインが見つかった場合は、バージョンのアップグレードまたはダウングレード(「壊れた」バージョン以外のもの)を強制することができます。


0

FWIW vim-gtk3パッケージをインストールしてvim-gtk(Ubuntu)を置き換えることで問題を解決しました。

注意!何らかの理由で、パッケージをインストールしたときにデフォルトのgvimコマンドがvim-gtk3にマップされなかったため、次のようにupdate-alternativesを手動で実行する必要がありました。

sudo update-alternatives --set gvim /usr/bin/vim.gtk3

GTKが問題である可能性があるというこのスレッドのヒントをたくさんありがとう。この問題は、Googleを使用しても追跡するのが困難でした。  

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.