web-dev-qa-db-ja.com

GVimは通常ベルが鳴る場所でちらつきます

たとえば、pageDownまたは下矢印キーを使用してファイルの「終わり」を超えて下にスクロールしようとすると、GVimは従来から音を出していました。私はこれを無効にしましたが、それが行うもう1つの厄介なことは、ちらつきです(おそらくユーザーに「警告」するためです)。どうすればこれをオフにできますか?

Gnome-3PPAがインストールされたubuntu11.04を使用しています。 「ATITechnologiesInc M880G [Mobility RadeonHD4200]」グラフィックカードを持っています。

乾杯、ジョンH。

4
John Hamelink

GVimは伝統的に音を出します。私はこれを無効にしました、[...]

:help visualbellが教えてくれることを発見しました。 visualbell設定は、ベルを無効にしません。ベルを変更して、bel terminfoシーケンス(termcapコードbl)を出力する代わりに、flash terminfoシーケンス(termcapコードvb)を出力します。

ベルをdisableするには、これらのterminfoシーケンスの1つを実際に無効にする必要があります。これは、vimには実際に「ベル」が必要ないことを指定する方法がないためです。 「どちらの種類でも、2つのタイプのベルを切り替える方法しかありません。

:setコマンドを使用して、vim内から端末の機能をオーバーライドできます。ターミナル機能をオーバーライドするvimの設定可能な変数は、terminfo名ではなく、termcap名に基づいて名前が付けられ、vimにはt_bl変数がありません。したがって、flash機能を無効にすることはできないため、termcapコードvbにちなんで名付けられた変数を使用して、bel機能を無効にする必要があります。alsoselectあなたが使用しているベルとしてそれ。

:set visualbell t_vb=
5
JdeBP

わかりました。実行時にGVIMに挿入するとうまく機能しましたが、.vimrcに挿入するとうまく機能しなかったJdeBPの回答に感謝します。私は道を見つけました ここ 。答えはこれをあなたの.vimrcに入れることです:

" - Stop the bell ringing all the time when you do something dumb
" - or unnecessary.
set visualbell t_vb=
au GuiEnter * set visualbell t_vb=
1
John Hamelink

Vimの「ビジュアルベル」機能が有効になっているようです。これは、ベルが従来鳴るたびにフラッシュでユーザーに警告します(予想どおり)。

次のように入力して、現在のセッションで無効にすることができます。

:set novb

または、set novbに行.vimrcを追加して、永続的に無効にします。

0
davidg