¿Cómo saltar a una ubicación usando el mouse en iTerm / terminal?


43

Trabajo en una terminal la mayor parte del tiempo.

¿Existe una aplicación / complemento sobre iTerm o cualquier otro terminal como una aplicación que pueda controlar la ubicación del cursor de mi terminal con un mouse?


¿Qué quieres hacer en el cursor?
user151019

1
Me gustaría saltar al cursor. Caso de uso, si tengo una línea larga delimitada por el espacio, me gustaría saltar a una ubicación en particular. El uso del teclado requiere muchas pulsaciones de teclas.
Sairam

Si ya está utilizando Terminal, probablemente aprecie el teclado. Aprenda los atajos de teclado para saltar al frente / atrás de la línea, y navegue por palabras, y le ahorrará muchas pulsaciones de teclas y probablemente sea más rápido que el mouse.

1
Consulte también apple.stackexchange.com/a/217167/24565 para obtener información sobre las opciones del mouse para tmux
Michael Durrant,

Respuestas:


52

Al menos en Terminal.app, puede mantener presionado optionmientras hace clic para saltar dentro de su línea actual (eso en realidad significa solo la línea, por lo que si su solicitud actual es tan larga que se ajusta a una segunda línea de entrada, tendrá que hacer optionclic) al comienzo de la "segunda" línea y luego salte con las teclas de flecha a la "primera" línea donde puede hacer optionclic nuevamente.)


1
Opción clic, interesante. Nunca lo supe antes. Sin embargo, asegúrese de hacer clic en la línea, mierda santa. Ni siquiera entiendo lo que sucede cuando hago clic sobre / debajo de la línea actual. Supongo que se está presionando varias veces, pero estoy bastante seguro de que el historial de comandos no coincide exactamente.
Jason Salaz

Bueno, solo está leyendo el número de columnas donde hace clic y salta a esa posición en la línea actual (!); así que si está al final de un mensaje ajustado (por ejemplo, línea 2: columna 45) y hace clic en algo en la primera línea (por ejemplo, línea 1: columna 4), terminará en la columna 4 (excelente) pero permanecer en la línea 2 (¡mal!).
Asmus

2
La forma en que funciona Option-Click es que emite el equivalente de las entradas de teclas de flecha. Esto funciona bien en editores como emacs, pero si está en el símbolo del sistema bash, interpreta arriba / abajo como "comando anterior / siguiente en la historia". Por lo tanto, si hace clic con la tecla Opción en cualquier lugar, excepto en la misma fila que contiene la solicitud, bash revisa el historial de comandos en lugar de mover el cursor.
Chris Page

Funciona en iTerm2.
Ahmet Alp Balkan

9

Ha pasado bastante tiempo desde que surgió esta pregunta y ya mencioné lo siguiente en esta plataforma en Opción-clic en iTerm y el rastreador de problemas de iTerm2, pero tal vez sea de ayuda para uno u otro:

Hola, solo quería que supieras que implementé esa función en iTerm2. Todavía no está en el repositorio oficial de iTerm2, pero si desea probarlo, puede encontrarlo en github .

Como solo lo probé yo, lo considero no estable. Lo probé con bash, vi y emacs e hice todo lo posible para asemejarme al comportamiento de Terminal.app.

También hay un binario precompilado en github iTerm_v1.0.0.20120312.git-b919985b.zip (para i386 / x86_64 / ppc).

Por supuesto, cualquier comentario es bienvenido.


¿Se interrumpió el informe del mouse en la última versión? Ya no funciona para mí, no veo el cursor "o" y no puedo encontrar la forma de recuperarlo.
Michael

Tomare eso de vuelta. Los informes del mouse no funcionan solo en algunos casos; por ejemplo, si ssh a otra máquina, luego se conecta a una sesión tmux que ya ejecuta emacs. Esto solía funcionar. Ahora a veces tiene que salir de emacs y reiniciarlo antes de que funcione el informe del mouse ...
Michael

Solo parece ir a una posición en cualquier lugar de la línea actual. ¿Es posible hacer clic en la opción en cualquier lugar del comando activo?
Skeleton Bow

6

El teclado es a menudo tu mejor amigo. En una configuración predeterminada, su shell controla gran parte de cómo navega por el símbolo del sistema.

Option+ bretrocede una palabra (el cursor terminará en la primera letra de la palabra anterior).

Option+ favanza una palabra (el cursor estará en el carácter que no sea letra DESPUÉS de la siguiente palabra).

Shift+ Fn+ Left Arrow (←)colocará el cursor al comienzo de la línea. ( Ctrl+ atambién hará esto).

Shift+ Fn+ Right Arrow (→)colocará el cursor al final de la línea. ( Ctrl+ etambién hará esto).

Entonces, si tengo un comando largo, por ejemplo:

$ rsync -avz --progress ~/Sites/Development/My/Project web@server:/deployment/output/area

Y comienzo golpear Option+ b, el cursor se detendrá en la una en la zona, la O de la producción, el d en el despliegue, etc.

Si voy al comienzo de la línea y empiezo a presionar Option+ f, el cursor se detendrá en el espacio después de rsync, el espacio después de avz, el espacio después del progreso, los sitios / después, etc.


Me gusta su solución consciente "problema XY". Si bien no responde la pregunta original, es una alternativa muy valiosa. Sin embargo, ¿es a propósito que a veces dices CMD + by opción + b?
Cornelius Roemer

1
No, eso fue un error de mi parte. El comando nunca debería haberse utilizado aquí porque controla los comportamientos de la ventana de Terminal, no los comportamientos de shell / movimiento.
Jason Salaz

5

En iTerm2, mantenga presionada la tecla Alt (izquierda o derecha) y haga clic para mover el cursor a cualquier posición en cualquier línea.


3

Si está específicamente interesado en el movimiento en Vim, puede agregarlo set mouse=aa su ~/.vimrcarchivo.

Funciona en iTerm para el movimiento. También le permite marcar secciones como si hubiera entrado en modo visual, para que pueda tirarlo o eliminarlo o comentar el código dependiendo de sus complementos.

Muy convenientemente, también le permite desplazarse rápidamente por un documento grande con una diapositiva de dos dedos o la rueda del mouse.

El único inconveniente es que dificulta la selección del texto que desea copiar para usar en otras aplicaciones, aunque todo lo que tiene que hacer es presionar optionmientras selecciona.

Además: tenga en cuenta que, si agrega algo como vimpager (también en macports), también puede desplazarse por las páginas man una vez que agregue:

export PAGER=/opt/local/bin/vimpager #or wherever vimpager is installed
alias less=$PAGER

a su .profileo .bashrc.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.