Vim y mouse con ssh de Mac a Linux

9

Ciertamente sé que es posible hacer que el mouse funcione en Vim en una sesión remota a una máquina Linux desde mi Mac, pero no he descubierto cómo.

Daily vim da un consejo sobre cómo hacerlo funcionar, pero si intento configurar 'mac-ansi', por ejemplo, recibo un error que dice que solo puedo especificar valores que comiencen con builtin_ (riscos, beos-ansi, etc.). He intentado usar ssh -X, combinado con set mouse=ay set term=builtin_ansopor ejemplo, pero sin éxito con o sin combinarlos.

Estoy usando Snow Leopard e intento usar el mouse en una máquina Debian con vim 7.1.314. He echado un vistazo a la documentación pero no puedo hacer que funcione. ¿Algun consejo?

Jonatan Littke
fuente
El consejo sobre esa publicación diaria de vim es totalmente erróneo cuando se trata de la 'term'opción. Hay muy pocas circunstancias en las que uno debería cambiar esa opción en Vim en lugar de hacer que el terminal establezca el valor correcto para $ TERM. El comentario de Spectral es correcto.
jamessan

Respuestas:

15

No creo que Terminal.app admita informes de mouse xterm que son necesarios para que el mouse funcione. Hay algunas opciones para obtener un terminal con funcionalidad de informes del mouse.

  • iTerm es un programa de terminal alternativo que admite informes de mouse
  • MouseTerm es un truco para agregar informes de mouse a Terminal.app, pero no lo he probado y no sé qué tan bien funciona
  • También puede instalar X11 y usar un xterm real

Una vez que tenga uno de esos en funcionamiento :set mouse=a(es posible que también lo necesite :set term=xterm) y debería estar en el negocio.

Geoff Reedy
fuente
1
MouseTerm resolvió el problema. Actualmente admiten clics del mouse y eventos de desplazamiento. Acabo de instalar SIMBL + MouseTerm y ejecuté set mouse = a en Vim en mi máquina remota, y funcionó.
Jonatan Littke
1
+1 para: establecer mouse = a en vim. Con Putty ejecutándose en Windows, no es necesaria ninguna otra configuración. No puedo creer que haya estado usando el teclado solo por tanto tiempo.
Cheesington
6

Para usar Terminal.app con un mouse, debe usar Alt-clic en lugar de clic.
Por ejemplo, en vim set mouse = a luego use Alt-click para colocar el cursor.

Esto funciona a través de ssh, aunque no permite cambiar el tamaño de las ventanas (vim). También pierde la capacidad de cortar desde otras ventanas y pegar en la ventana del terminal.

dschult
fuente
1

No tengo la respuesta, pero puedo compartir lo que aprendí en mis meses de búsqueda de la respuesta. Soy un gran usuario de vim y pantalla GNU sobre ssh. Irónicamente, juro por esos programas porque puedo usarlos remotamente sin un mouse, pero casi he abandonado OS X porque no me proporciona una manera fácil de usarlos remotamente con un mouse.

De todos modos, esto es lo que he encontrado:

  • xterm que se ejecuta bajo X11.app se puede hacer para informar eventos del mouse y trabajar como se desee. Desafortunadamente, xterm carece de muchas de las características de iTerm y Terminal.app. Hacer algo tan simple como cambiar la fuente en xterm requiere un poco de magia negra.
  • Se supone que iTerm puede acomodar la funcionalidad deseada, pero nunca la he puesto a funcionar. iTerm también sufrió importantes problemas de rendimiento cuando salté el barco a Terminal.app hace un par de meses. Las actualizaciones de pantalla ocurrieron lentamente, y ocuparía un 25% de CPU simplemente sentado allí sin hacer nada.
  • De hecho, intenté usar una máquina virtual Ubuntu simplificada que se ejecuta en VMWare como mi aplicación de terminal. Lo configuré para arrancar en un Gnome-Terminal a pantalla completa con fluxbox como administrador de ventanas. Renuncié a esa solución porque no funcionó bien con Spaces y la sobrecarga de ejecutar VMWare.

Ahora, simplemente, nunca me alejo de una caja de Linux real, ocasionalmente uso vim a través de Terminal.app para ser honesto; si no puedo recordar las pulsaciones de teclas de navegación, bien podría estar usando Visual Studio.


fuente
0

Además de la respuesta de Geoff, aquí hay otra solución posible:

MacVim + NetRW para vim .

MacVim ha incorporado soporte para mouse, y NetRW es un módulo vim que permite la edición remota usando vim scp://host/path/to/file. Así que simplemente inicie MacVim y conéctese al archivo, edítelo y guárdelo de forma remota.

También puede estar interesado en ajustar un poco la GUI, consulte mi pregunta relacionada sobre SO.

Jonatan Littke
fuente