ターミネーター/vim マウスの問題

ターミネーター/vim マウスの問題

まず最初に、私は vim でマウスをできるだけ使わないようにしていますが、クリックしたり、何かを強調表示したりするためにマウスを使うことになる時があります。

とはいえ、私が抱えている問題はこれです。ほとんどの場合、ターミナル (ターミネーター) をモニターの 1 つに最大化して、通常は vim を開いて 2 つまたは 3 つのウィンドウを垂直に分割します。問題は、一番右のウィンドウをクリックすると発生します。カーソルが左端のウィンドウに移動します。私はめったにクリックしないので、予想外の動作だと本当に戸惑ってしまいます。慣れることができません。

何が問題なのか調べてみたところ、xterm と、端末の 220 桁目を超えるマウス クリックに問題があることがわかりました。おそらく、その後修正されたようです。最大サイズの端末で vim を開いて、約 250 文字の行を作成することで、この問題をより簡単にテストできます。220 桁目を超える文字をクリックすることはできません。調べてみると、多くの人が .vimrc で "ttymouse=sgr" を設定することを提案していることがわかりました。それを試してみましたが、何も変わりませんでした。

ターミナルとして terminator を使用していることは述べました。gnome-terminal ではこの動作は見られませんが、私は terminator を使い続けたいと思っています。ターミナル内のプログラムでマウス統合がどのように機能するかについては詳しくありませんが、terminator と gnome-terminal ではターミナル機能に何か違いがあるのではないかと思います。

Ubuntu 14.04 LTS を実行しています。

答え1

Terminator と Gnome-terminal は、Vte と呼ばれる同じ端末エミュレーション ウィジェットを使用します。ただし、Gnome-terminal はより新しい Gtk+-3 ベースのバージョンを使用するのに対し、Terminator は Gtk+-2 ベースの古い Vte に依存しています。

従来のマウス プロトコルは、最大 223 までの行と列の値のみをサポートします。拡張バージョンは、Vte の Gtk+-3 ブランチに追加されました。

少し冒険したいなら、Terminator の新しい Gtk+-3 ベースのバージョンに切り替えることもできます (https://code.launchpad.net/~gnome-terminator/terminator/gtk3)。現在、開発が活発に行われており、現在使用しているバージョンに比べて多くの改善と修正が行われていますが、現在、1 つまたは 2 つの顕著な不具合があり、その修正に取り組んでいます (最も顕著なのは、セパレーターをダブルクリックした後、または回転操作を行った後にサイズが間違っていることです)。しかし、結局のところ、改善されたバージョンが気に入っていただけると思います。

Trusty が出荷したものよりもさらに新しいバージョンの Vte が必要です。Gnome3 Staging の vte2.91 パッケージを試すことができます (https://launchpad.net/~gnome3-team/+archive/gnome3-staging/+パッケージ) は新しい Ubuntu では問題なくインストールできると思いますが、よく分かりません。または、vte-0.42 tarball (ftp://ftp.gnome.org/pub/GNOME/sources/vte/) (./configure --prefix=/usr && make && sudo make install)、先日これを実行しましたが、これが機能することを保証できます。必要なのは、信頼できるパッケージとして利用可能ないくつかの依存関係をインストールすることだけです。ただし、必要なパッケージ (python、gir、libgirepository など) を把握するのは少し難しい場合があります。

この方法で新しい Vte をインストールしても、以前のバージョンは上書きされず、3 つのバージョンが共存することになります。

新しいバージョンを導入すると、bzr の Terminator の Gtk+-3 バージョンがすぐに起動するはずです。

関連情報