コンソールvimでマウスを完全に無効にする


13

Stack Overflowのコンソールvimマウスを完全に無効にするのを見ました。それはまさに私が望んだように聞こえましたが、問題はCygwinに関連していたため、タイトルは誤った名称でした。

コンソールのvimですべてのマウス操作を完全に無効にする方法を知りたいです。スクロール、選択、クリック、またはその他の方法でマウスを見てvim内で効果を発揮したくありません。

vimを使用しているときではなく、コンソールにマウスを置くのが好きです。これは可能ですか?

ubuntuがインストールされたラップトップを持っていて、タイプすると、ときどきタッチパッドマウスが画面上のランダムな座標間でランダムにクリックまたはドラッグすることを決定します。これは、常に間違った場所にコードを入力する影響があり、コードに微妙な元に戻せないバグが発生することがあるため、古くなっています。

の以下のコマンドを使用して、スクロールと視覚的な選択を取り除くことができましたが.vimrc、クリックしてもカーソルは再配置されます。

" disable mouse interactions "
set mouse=nicr
map <ScrollWheelUp> <nop>
map <S-ScrollWheelUp> <nop>
map <C-ScrollWheelUp> <nop>
map <ScrollWheelDown> <nop>
map <S-ScrollWheelDown> <nop>
map <C-ScrollWheelDown> <nop>
map <ScrollWheelLeft> <nop>
map <S-ScrollWheelLeft> <nop>
map <C-ScrollWheelLeft> <nop>
map <ScrollWheelRight> <nop>
map <S-ScrollWheelRight> <nop>
map <C-ScrollWheelRight> <nop>

他に何をする必要がありますか?

PS私は試しましたがset mouse=、それはビジュアルセレクトを再び有効にするようです...


6
set mouse=Vimとのすべてのマウス操作事実上無効しますが、端末エミュレーターでは無効にしません。「ビジュアルセレクト」がVimのものであると確信していますか?
romainl 2017

これは、中央の構成をロードした後、_に構成をロードしたことが原因である可能性があります/etc/vimrc。ここで私の答えを参照してください:unix.stackexchange.com/a/506723/194822
HolgerBöhnke19年

回答:


17

/ etc / vim / vimrcの最後に次の2行を追加する必要があります。

set mouse=
set ttymouse=

私はttymouseについて知りませんでした、ありがとう!
James M. Lay、2006

1
+1 ttymouse、すべてのウェブサイトが言及されてmouseいましたttymouseが、私が欠けていたものでした。よろしくお願いします!
KaKi87

2

これを.vimrcの最後に置くとうまくいくかもしれません

set mouse=c

おそらくマウス入力を受け取るのはVimではなく、ターミナルエミュレータです。端末でマウスのサポートを無効にするには、これが役立つ場合があります。


2
なぜc完全に空白ではないのですか?
リッチ

1

これはせいぜい部分的な解決策にすぎませんが、vimがxinputシェルスクリプトで実行されている間は、マウス/タッチパッドをグローバルに無効にできます。

xinput set-prop $ID "Device Enabled" 0

その後

xinput set-prop $ID "Device Enabled" 1

タッチパッドを再び機能させる準備ができたら。

xinput --listポインティングデバイスのIDを取得するために使用します。


これは、FocusGainedおよびFocusLostautocommandイベントとうまく組み合わせることができますが、それらのイベントを検出できる端末+ Vimセットアップを見つけるのにいくつかの課題があるようです。
8ビットツリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.