Desplazarse dentro de Vim en la terminal de Mac

89

He estado buscando en Google tratando de averiguar si es posible usar la rueda del mouse para desplazarse dentro de Vim en la Terminal de Mac, sin suerte. Parece que solo X11 o iTerm admiten esto.

Antes de rendirme, pensé en probar a los genios aquí para ver si alguien sabe una manera de hacer esto. Entonces, ¿alguien sabe si puedo configurar eso?

¿O debería considerar seriamente el uso de una aplicación de terminal diferente?

hora
fuente
¿Es esto algo que puede hacer en otras plataformas o editores de terminal? Si hubiera una implementación de VI basada en X, supongo que podría admitir eso, pero ¿no preferiría tener soporte para el mouse de desplazamiento para controlar el búfer de desplazamiento hacia atrás?
benc
En la terminal de Ubuntu puedes desplazarte, por eso preguntaba, quería ver si podía tener la misma funcionalidad en mi Mac.
hora
1
@hora - puedes, solo usa iterm. También obtienes 256 colores, copiar y pegar sensiblemente, etc.
robince

Respuestas:

68

http://bitheap.org/mouseterm/

Use MouseTerm (¡y asegúrese de instalar SIMBL primero!) Y el desplazamiento funcionará como un encanto, incluso de forma remota, usando Mac Terminal.

Debe cerrar completamente la aplicación Terminal (Comando + Q) y luego ejecutarla nuevamente después de instalar MouseTerm.

Jonatan Littke
fuente
2
Vaya, eso es exactamente lo que estaba buscando. Mientras tanto, me he acostumbrado a NO usar mi mouse, pero esto sigue siendo útil.
hora
8
Para las nueces de vim, agregar un set mouse=aen su .vimrc funciona como un encanto con MouseTerm
Panagiotis Moustafellos
5
Si está buscando SIMBL y está tratando de que funcione en Lion, pruebe EasySIMBL: github.com/norio-nomura/EasySIMBL/downloads
Zachary Murray
2
puede confirmar que EasySIMBL + MouseTerm también funciona en Mavericks
jcr
2
Las últimas versiones de EasySIMBL ya están aquí (actualmente 1.6): github.com/norio-nomura/EasySIMBL/releases
Nathaniel Heinrichs
99

Y si está usando iTerm, agregue esto a su vimrc

:set mouse=a
Shane Reustle
fuente
6
También funciona para la aplicación de terminal OSX predeterminada.
Ian
22

Esta es una pregunta antigua, pero un éxito en Google, así que me siento obligado a proporcionar una respuesta actualizada.

Ejecutando OSX El Capitan 10.11, el mouse vim y el desplazamiento del trackpad simplemente funcionó (TM) para mí en Terminal.app de forma predeterminada. Sin embargo, ocasionalmente, la entrada del mouse / trackpad dejó de manipular el búfer vim y comenzó a desplazarse por el búfer del terminal. La respuesta fue Command+Ro Vista de menú -> Permitir informes del mouse. Activar eso permitió que las operaciones de desplazamiento del mouse / trackpad movieran el cursor en vim.

mmacvicar
fuente
¡Oye, me di cuenta de que había intentado por error presionar Comando + R una vez en lugar de Control + R para obtener comandos recientes! Eso es probablemente lo que me atrapó. ¡Gracias!
Teddy
6
  • Menú termanal> Ver> Permitir informes del mouse
  • Menú Terminal> Preferencias> Teclado> Desplazarse por la pantalla alternativa
Afagh
fuente
4

Puede leer este artículo , pero estoy bastante seguro de que, dado que el terminal predeterminado en Mac OS X tiene una barra de desplazamiento incorporada, los comandos de la rueda del mouse se dirigen automáticamente a él. Definitivamente podría usar gVim como se sugiere en la respuesta anterior. Sin embargo, encuentro que generalmente no quiero usar el mouse en Vim, ya que quita mis manos del teclado.

Yo solo 50jsuelo bajar y 50ksubir. No es exactamente un desplazamiento, pero funciona bastante bien.

Topher Fangio
fuente
Gracias, eso no es exactamente desplazamiento, pero creo que es mejor ya que mis manos siempre están en el teclado.
hora
@hora - Sí, desplazarse definitivamente sería bueno, pero desafortunadamente, no creo que sea factible.
Topher Fangio
13
O use CTRL + fy CTRL + b para avanzar y retroceder una pantalla a la vez. O CTRL + dy CTRL + u para subir y bajar media pantalla.
Dan Dyer
No se trata solo de desplazarse, también tiene la capacidad de marcar selecciones visuales con el mouse, mover los límites de la ventana, etc. Básicamente, hace que un programa gráfico sea redundante y es ideal para cuando se trabaja en una máquina remota.
robince
@thrope - Muy cierto, lo uso bastante a menudo. vpara el modo visual y luego seleccione el texto que quiero. Sin embargo, generalmente quiero una línea completa o un conjunto de líneas, por lo que, para evitar problemas de pegado de líneas nuevas, generalmente solo cuento las líneas y presiono ddpara eliminarlas. Un poco más lento a veces, pero es a lo que me he acostumbrado.
Topher Fangio
2

Asegúrese de que la terminal esté xtermy no ansien Terminal Menu > Preferences > Profiles > Advanced. Accidentalmente rompí el desplazamiento al cambiar el tipo de término en un esfuerzo ingenuo para que el color funcionara sobre ssh.

Dayne
fuente
1

Use gVim, que le brinda un entorno de edición de texto en una ventana por la que puede desplazarse. La terminal no está involucrada cuando se usa gVim.

Greg Hewgill
fuente
2
No es realmente relevante - podría estar accediendo a vim en otra máquina (a través de ssh) - En cualquier caso, en una mac, macvim es la versión gráfica
robince
1

Estoy usando xterm en X11 (XQuartz 2.3.4) y vim funciona muy bien con el mouse y también admite 256 colores.

Aquí están los ~ / .Xresources que uso para hacer que mi xterm sea más agradable en X11:

XTerm*faceName: Lucida Sans Typewriter Regular
XTerm*faceSize: 9
XTerm*utf8: 1

xterm*saveLines: 1000
xterm*jumpScroll: true
!xterm*awaitInput: true
!xterm*multiScroll: true

XTerm*scrollBar: false
xterm*scrollbar*thickness: 16
xterm*rightScrollBar: true

XTerm*foreground: white
XTerm*background: grey10
!XTerm*background: black
XTerm*cursorColor: yellow

xterm*visualBell: false

xterm*loginShell: true

Pequeños consejos, para eliminar el sonido de la campana en el xterm de X11, escriba este comando:

xset b 0
XPac27
fuente
Probé xterm, no soy un gran fan, aunque no sé por qué, hay algo en él que me desanima. Quizás le dé otra oportunidad.
hora
Lo único que cambia es copiar y pegar. Pegar hecho con el clic medio del mouse (o alt + clic) y copiar se realiza simplemente seleccionando un texto. Por supuesto, en vim tendrá que deshabilitar el mouse para poder copiar algo fuera de X11 o pegar algo desde fuera de X11 o vim mientras anula el comportamiento del mouse de X11.
XPac27
1

Recomendaría usar iTerm: tiene muchas ventajas sobre Terminal, por ejemplo, compatibilidad con el mouse, 256 colores, copiar y pegar sensato (copia automática, selección de palabra / url con doble clic, pegar con clic central) ...

robince
fuente
¿Hay esquemas de color integrados en iTerm? ¿Cómo cambio los colores? Parece que no puedo entenderlo ... El diálogo "mostrar información de sesión" no me permite guardar diferentes perfiles.
hora
Sí, la configuración es un poco divertida ... Vaya a Marcadores -> Administrar perfiles -> Mostrar perfiles y puede configurar los colores. Luego, vaya a Marcadores -> Administrar marcadores y configure los valores predeterminados o cualquiera que desee para usar el perfil de visualización que desee.
robince
Ni siquiera puedo Opción + Flecha izquierda para retroceder una palabra a la vez en iTerm. ¿Me estás tomando el pelo?
IIllIIll
-1

Cuando use iTerm, cree un archivo .vimrc (si aún no está allí) en su carpeta de inicio y agregue la línea:

:set mouse=a

Desplazarse hacia abajo en vim para ver un archivo funciona después de esto.

Shashank
fuente
Esta respuesta es un duplicado directo de una publicada más de un año antes.
moopet