web-dev-qa-db-ja.com

MacからLinuxへのsshを備えたVimとマウス

MacからLinuxマシンへのリモートセッションでVimでマウスを動作させることが可能であることは確かに知っていますが、その方法がわかりません。

Daily vim それを機能させるためのヒントを提供しますが、たとえば 'mac-ansi'を設定しようとすると、builtin_(riscos、beos-ansi)で始まる値しか指定できないというエラーが表示されます。など)。たとえば、ssh -Xset mouse=aおよびset term=builtin_ansoと組み合わせて使用​​してみましたが、組み合わせてもしなくても成功しませんでした。

Snow Leopardを使用していて、vim7.1.314を搭載したDebianマシンでマウスを使用しようとしています。ドキュメントを確認しましたが、機能させることができません。任意のヒント?

9
Jonatan Littke

Terminal.appは、マウスを機能させるために必要なxtermマウスレポートをサポートしているとは思いません。マウスレポート機能を備えた端末を入手するには、いくつかのオプションがあります。

  • iTerm は、マウスレポートをサポートする代替ターミナルプログラムです。
  • MouseTerm は、Terminal.appにマウスレポートを追加するためのハックですが、試したことがなく、どの程度うまく機能するかわかりません。
  • X11をインストールして実際のxtermを使用することもできます

それらのいずれかが実行されたら、:set mouse=a:set term=xtermも必要になる場合があります)、ビジネスを開始する必要があります。

15
Geoff Reedy

Terminal.appをマウスで使用するには、クリックする代わりにAltキーを押しながらクリックする必要があります。
たとえば、vim set mouse = aで、Altキーを押しながらクリックしてカーソルを配置します。

これはsshを介して機能しますが、(vim)ウィンドウのサイズ変更はできません。また、他のウィンドウから切り取ってターミナルウィンドウに貼り付けることもできなくなります。

6
dschult

答えはありませんが、何ヶ月にもわたって答えを探して学んだことを共有することができます。私はvimのヘビーユーザーであり、GNU screen over ssh。皮肉なことに、マウスなしでリモートで使用できるので、これらのプログラムを誓いますが、OSXをほとんど放棄しました。それらをリモートで使用する簡単な方法を提供していませんwithマウス。

とにかく、これが私が見つけたものです:

  • x11.appで実行されているxtermは、マウスイベントを報告し、必要に応じて機能するように作成できます。残念ながら、xtermにはiTermとTerminal.appの機能の多くが欠けています。 xtermでフォントを変更するだけの簡単なことを行うには、少し黒魔術が必要です。
  • iTermはおそらく必要な機能に対応できますが、私はそれを機能させることができませんでした。数か月前にTerminal.appに船をジャンプさせたとき、iTermも大きなパフォーマンスの問題に悩まされていました。画面の更新はゆっくりと行われ、何もせずにそこに座っているだけで25%のCPUを消費します。
  • 実際に、VMWareで実行されているUbuntu VM VM $ ===をターミナルアプリとして使用してみました。ウィンドウマネージャーとしてfluxboxを使用してフルスクリーンのGnome-Terminalで起動するように設定しました。あきらめましたSpacesとVMWareの実行のオーバーヘッドでうまく機能しなかったための解決策。

今では、実際のLinuxボックスから遠く離れることはありません。正直に言うと、Terminal.appを介してvimを使用することがあります。ナビゲーションのキーストロークを思い出せない場合は、VisualStudioを使用した方がよいでしょう。

1
user27010

Geoffの答えに加えて、別の可能な解決策があります。

MacVim + vimのNetRW

MacVimにはマウスサポートが組み込まれており、NetRWはvim scp://Host/path/to/fileを使用したリモート編集を可能にするvimモジュールです。したがって、MacVimを起動してファイルに接続し、編集してリモートで保存するだけです。

GUIを少し調整することにも興味があるかもしれません。SOの私の 関連する質問 を参照してください。

0
Jonatan Littke