iTerm2-desplazamiento menos salida con el ratón


Acabo de cambiar de Terminal OSX a iTerm2, y parece que he perdido una pieza de funcionalidad. En Terminal, podía desplazarse por la salida del comandoless con mi ratón, porque había instaladoMouseTerm .

Sin embargo, cuando intento desplazar la salida less en iTerm2, la barra de desplazamiento de la ventana se mueve en su lugar. Extrañamente, el desplazamiento funciona como se espera con vim.

¿Cómo puedo desplazar la salida less con el ratón en iTerm2?

Author: Ruben Verborgh, 2013-01-21

5 answers

El problema iTerm2 ahora está marcado como " fijo" - pero la solución es agregar una opción oculta, por lo que no es inmediatamente obvio cómo activar la nueva opción AlternateMouseScroll.

Como Filippo Valsorda (autor del parche) escribe , una vez que instale un nightly build (todavía no está presente en 1.0.0.20140629) de iTerm2, simplemente ejecute este comando:

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true

Reinicie iTerm2, y todas sus ventanas reportarán eventos de desplazamiento como escapes de tecla de flecha arriba/abajo cuando el terminal está en el " alternate modo "pantalla" (direccionamiento directo) utilizado por programas como less, vim, emacs, etc.

Para aplicaciones como vim y emacs que proporcionan soporte adicional para el ratón, todavía querrá habilitar el modo de informe del ratón, como este interruptor de modo automático solo permite el desplazamiento.

 33
Author: Alex Dupuy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-11 10:25:01

Ahora está implementado en iTerm2 y puede ser activado por

Preferencias -> Avanzado -> La rueda de desplazamiento envía las teclas de flecha cuando está en modo de pantalla alternativo y cámbialo a

introduzca la descripción de la imagen aquí

(defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true todavía funciona, pero solo cambia la misma configuración)

 37
Author: Pylinux,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-21 06:47:17

Finalmente lo hice, he estado pasando mucho tiempo en esto mirando aquí y allá sin suerte, los pasos más simples son:

  1. Instalar la versión beta 2.9

  2. Hecho

 3
Author: r1ckr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-01 15:11:46

Esto no está implementado, pero aquí es un problema abierto en el rastreador de problemas de iTerm 2 sobre su implementación.

 1
Author: asmeurer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-02 20:37:21

No es la pregunta del OP, pero para cualquiera aquí tratando de hacer que esto funcione en tmux, con crédito a choco a través de este comentario de github aquí hay un fragmento para agregar a tu tmux.conf para que maneje pantallas alternativas (por ejemplo, less, vim) correctamente:

# Check if copy-mode or any mouse flags, then send mouse events
# or check if we're in alternate screen end send navigation keys (up, down)

bind -n WheelUpPane if-shell -Ft='#{?pane_in_mode,1,#{mouse_any_flag}}' \
        'send -Mt=' 'if-shell -Ft= "#{alternate_on}" \
        "send -t= Up" "copy-mode -et= ; send -Mt="'
bind -n WheelDownPane if-shell -Ft= '#{?pane_in_mode,1,#{mouse_any_flag}}' \
        'send -Mt=' 'if-shell -Ft= "#{alternate_on}" \
        "send -t= Down" "send -Mt="'

Tenga en cuenta que esto no requiere el cambio de preferencia Itterm mencionado en otras respuestas, pero tampoco se ve afectado por ello.

 0
Author: Von,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-02 00:40:30