Terminal Mac OS X: ¿compatibilidad con el mouse?

75

¿Existe una opción nativa (es decir, sin instalar software / paquete / complementos adicionales) para habilitar el soporte del mouse en la aplicación Terminal?

En realidad, estoy usando mucho vimcon la opción set mouse=a(activar las funciones del mouse).

Pero parece que Terminal no es compatible con todas las características de xterm.

Parece (después de buscar en Google) que Terminal alguna vez tuvo soporte para mouse, pero me pregunto a dónde fue.

NB: Realmente quiero soporte para mouse en Terminal, no solo para vim, así que por favor, no sugiera MacVim:]

avetis.kazarian
fuente
¿Qué soporta xterm que Terminal no soporta? ¿Copiar en resaltado y pegar medio?
Ignacio Vazquez-Abrams
El informe del mouse. Es el soporte real del mouse. La copia al resaltar, pegar medio, etc., no está realmente relacionada con la Terminal, que yo sepa.
2
copiar-en-resaltar y pegar en el medio relacionado con el Terminal - en que el Terminal no los hace - podría probar iTerm para ellos
user151019
@ Mark: Lo revisé y me gustó. Aunque Terminal maneja caracteres mucho mejores en negrita. Gracias de todos modos.
2
@Arjan: algunas aplicaciones de CLI interactivas admiten el mouse; por ejemplo, colocando el cursor de texto en vim.
ELLIOTTCABLE

Respuestas:

104

¡Encontré la respuesta!

Un amigo me contó el truco, es tan fácil que me da vergüenza.

¡Solo presione la tecla alt y haga clic! (con soporte para mouse previamente activado en vim)


ACTUALIZACIÓN para OSX 10.11 El Capita

Por favor, vea la respuesta de Chris Page .

avetis.kazarian
fuente
11
He sido un usuario avanzado de OS X durante lo que parece medio siglo, y nunca lo supe. Estoy extremadamente impresionado. Desearía poder darte cien votos en lugar de uno.
ELLIOTTCABLE
44
De todos modos para desactivar el requisito de uso alt?
philfreo
8
No es lo mismo, para mí de todos modos. A menudo hago clic en un personaje y el cursor termina en otro lugar, más o menos cerca. Tampoco funciona para cambiar pestañas en vim. También parece no funcionar tan bien para cambiar ventanas en tmux.
andyortlieb
1
@andyortlieb: por eso me mudé a iTerm2.
avetis.kazarian
2
No me funciona.
Mike Graf
23

A partir de OS X 10.11 El Capitan, Terminal admite Informes de mouse.

Tenga en cuenta que los programas que admiten Informes de mouse deben habilitarlo mediante secuencias de escape, y que la mayoría de los programas que admiten Informes de mouse deben configurarse para habilitarlo. Por ejemplo, en Vim debe ejecutar set mouse=a(generalmente en su ~/.vimrcarchivo).

Terminal admite informar tres botones del mouse y una rueda de desplazamiento. Para simular una pulsación de tres botones con un dispositivo de dos botones, puede usar Comando-Clic con el botón derecho. (Comando + clic con el botón derecho también realiza Edición> Pegar selección cuando el Informe del mouse está desactivado, por lo que el botón del medio pegará el texto seleccionado más recientemente, ya sea que esté usando el Informe del mouse o no).

Cuando el Informe del mouse está habilitado, la Option ⌥tecla modificadora se asigna a Meta para hacer clic y desplazarse, y no se ve afectada por la preferencia de teclado "Usar opción como tecla Meta", que solo se aplica a la entrada del teclado.

Para omitir temporalmente los informes del mouse e interactuar con la vista de terminal, presione la Fntecla modificadora mientras hace clic o se desplaza. También hay un elemento de menú Ver> Permitir informes del mouse (⌘R) que puede usar para omitir los informes del mouse por períodos más largos o si la tecla modificadora no está disponible.

Tenga en cuenta que, cuando está habilitado, los Informes del mouse reemplazan el comportamiento de Opción-Clic existente del Terminal (que envía la entrada de la tecla de flecha para mover el cursor) y el comportamiento de "Desplazar pantalla alternativa". Además, el nuevo elemento de menú Permitir informes del mouse y el Fnmodificador también se aplican a "Desplazar pantalla alternativa" para que pueda omitir temporalmente este comportamiento.

Chris Page
fuente
"Permitir informes del mouse" es la respuesta para mí. iTerm2 tenía esta característica, pero solo quiero usar la aplicación de terminal integrada por su peso ligero.
Kay
@Kay: Me alegra que te guste, pero, para ser claros, el elemento de menú "Permitir informes del mouse" no activa los informes del mouse. Es simplemente un comando que le permite interactuar temporalmente con la vista de terminal en lugar de enviar la entrada del mouse al programa remoto cuando se ha habilitado el Informe del mouse. Los programas habilitan los informes del mouse enviando secuencias de control al terminal.
Chris Página
12

Como alternativa al uso de Alt-clic para establecer el cursor en vi con OS X Terminal, me gustaría sugerir usar iTerm 2:

Quería compatibilidad con el mouse en Terminal vi (Mac OS X 10.7 Lion), pero no hay compatibilidad para desplazarse con la rueda de desplazamiento. Terminé cambiando de Terminal a iTerm 2, que admite el desplazamiento de la rueda de desplazamiento vi, y no es necesario mantener presionada la tecla alt para configurar el cursor.

Si no utiliza algunas de las funciones más avanzadas en la aplicación Lion's Terminal , puede estar muy contento con iTerm 2.

Editar : para habilitar la compatibilidad con el mouse en Vim al usar iTerm 2, agregue la siguiente línea a su .vimrc:

:set mouse=a
Steve HHH
fuente
¿Cómo puedes desplazarte hacia abajo usando la rueda del mouse? Simplemente sube el búfer de pantalla, y puede obtenerlo en Terminal.app deshabilitando el uso del búfer de pantalla alternativo, por ejemplo, en vim usando set t_ti= t_te=en su ~/.vimrc.
Daniel Beck
Tenía que configurarlo :set mouse=aen mi .vimrc, esa es la forma normal de habilitar el soporte del mouse en Vim, pero parece que Terminal.app se come la entrada del mouse. Sin embargo, desplazarse hacia arriba y hacia abajo en un archivo de texto con la rueda de desplazamiento parece funcionar perfectamente en iTerm2.app.
Steve HHH
En MacOS Mojave (10.14) no tengo problemas para usar el mouse en vim usando el terminal OSX.
Gagarina
1

Parece que en OS X 10.4 (no estoy seguro acerca de 10.5) puede habilitar la compatibilidad con el mouse. Abra la Terminal, luego haga clic en Configuración de la ventana. Haga clic en Emulación en la lista desplegable y luego marque la opción "Hacer clic para colocar el cursor".

Joe D
fuente
1
En realidad, no hay nada como "Configuración de la ventana" en las preferencias de Terminal en 10.5 ni en 10.6. Todo lo que puede hacer en la pestaña "Ventana" es cambiar el color de fondo, el tamaño de desplazamiento, el título y el tamaño de la ventana.
1
Debe ser solo el 10.4 entonces ...
1
Esto no es exactamente el soporte del mouse. Lo que esto hará es permitirle hacer clic en una parte del terminal, y Terminal.app calculará cuántos caracteres de línea arriba / abajo / izquierda / derecha se necesitan para mover el cursor allí, y luego escribirlos. Muy útil pero no lo que quería el OP, no creo.
Josh
1

Tenga en cuenta que Mac OS X tiene xterm además de Terminal.app. No podría decir por su pregunta si estaba al tanto de esto. Pero si tiene instalado el paquete X11, puede abrir una ventana xterm y el soporte del mouse funciona bien.

Josh
fuente
0

MouseTerm parece ser el complemento SIMBL perfecto para aquellos que desean un soporte de mouse decente en sus terminales Mac OS X. A partir de mayo de 2013, la última versión (1.0b1 lanzada en julio de 2011) establece que agrega las siguientes características a la aplicación de terminal estándar de OS X:

  • Informes del botón del mouse.
  • Rueda de desplazamiento del mouse.
  • Desplazamiento simulado de la rueda del mouse para programas como less (es decir, cualquier programa de pantalla completa que utilice el modo de tecla de cursor de la aplicación).
  • Integración de perfil de terminal (con diálogo de preferencias).

Estoy usando tmux y vim con él, y me permite no solo hacer clic (¡sin la tecla de opción!) Sino también desplazarme y arrastrar dentro de ellos con poca configuración: por ejemplo, :set mouse=apara vim y tmux set-window-option mode-mouse on. Es fácil alternar los informes del mouse (con una sola combinación de teclas ⇧⌘M, o desde el menú Shell), por lo que no hay nada que perder para tenerlo instalado.

(Advertencia: sin embargo, hacer clic / arrastrar en modo de copia tmux no funciona como esperaba).

netj
fuente
Otra advertencia: he notado que después de iniciar por primera vez Terminal después de iniciar sesión, el soporte del mouse no funciona en absoluto hasta que salgo de Terminal y lo vuelvo a iniciar.
Michael
@Michael: Su síntoma le suena familiar al viejo SIMBL Issue 13 . La actualización de SIMBL probablemente solucionaría eso. (0.9.9 o 0.9.9b)
netj
Probé 0.9.9, no funcionó. probé el AppleScript en el comentario # 23, obtuve el "Fin de línea esperado pero encontré el identificador" (cambié "Snow Leopard" a "Lion", pero estoy ejecutando Lion ...)
Michael
También probé 0.9.9b (Parcheado para Lion), y eso tampoco lo soluciona. aún tiene que reiniciar la Terminal antes de que acepte eventos del mouse.
Michael
0

Puede configurar la emulación xterm en las preferencias avanzadas, al menos en la Terminal 2.4 (OS X 10.9.3). Esto permitió el soporte adecuado del mouse para mí.

Tom S
fuente
No funciona (asegúrese de probar con vim y tmux).
avetis.kazarian