¿Cómo obtener Mac OS X Terminal.app y el desplazamiento de pantalla / vim para jugar bien?


13

OSX 10.6.3 Terminal.app

Soy un usuario de pantalla bastante dedicado. Terminal.app line buffer y / o scroll no parece funcionar para mí. Es decir, mientras que en la pantalla todo lo que pasa por la parte superior del marco desaparece, no puede volver a. Esto parece funcionar bien en otras aplicaciones de terminal gnome, cygwin. ¿Tal vez este es un env env, config o comando?

.screenrc:

startup_message off  
autodetach on  
shell -$SHELL  
vbell off  
defutf8 on  
caption always  
caption string "%{= wk}%w"  

He intentado usar defscrollback aquí con diferentes valores, pero no tiene ningún efecto.

algunas configuraciones de .bashrc:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  

Respuestas:


15

En Lion, el tipo de terminal predeterminado es diferente, por lo que debería usar esta línea en su .screenrclugar:

termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@


Esto no funciona para mí :( "echo $ TERM" devuelve "xterm-256color", así que estoy seguro de que es el valor de terminal correcto, pero ningún valor que proporcione surte efecto.
Tim Harper

15

En su directorio de inicio, coloque en el archivo .screenrcel siguiente texto:

# Make xterm scrolling work properly with screen.
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

Funciona para Terminal.app también.


2
Sé que esto funcionó en Snow Leopard, pero no parece funcionar en OS X Lion. Bummer :(
Tim Harper

1
Esto era justo lo que estaba buscando: trabajar para mí en OS X Lion 10.7.3 con Terminal.app, ¡fantástico!
dossy

También funciona para mí en OS X Lion 10.7.5 (Nota: hay un ligero error tipográfico en la respuesta; el archivo en el que necesita almacenar el comando es ~ / .screenrc, es decir, en su directorio de inicio, en un archivo llamado ".screenrc" - no "screenrc". Edité la respuesta ahora para reflejar esto.)
likethesky

8

Creo que debería funcionar también, incluso más universal:

termcapinfo xterm* ti@:te@

Esto sería aún más universal. Es legal:

termcapinfo * ti@:te@

Esta es la mejor respuesta en mi humilde opinión.
Steve Bennett

3

Viejo hilo me doy cuenta, pero por lo que vale:

Si utiliza un iTerm2 configurado correctamente en Mac OS X Mountain Lion 10.8.2, parece que no es necesario crear / editar también un archivo .screenrc, según la sugerencia útil de Gareth anterior.

  1. Instalar iTerm2-1_0_0_20120726

  2. Inicie iTerm2> Menú de perfil> Abrir perfiles> seleccione Predeterminado> Editar perfil> pestaña Terminal> Marque ENCENDIDO:

    • Guardar líneas para desplazarse hacia atrás cuando la barra de estado de la aplicación está presente
    • Desplazamiento ilimitado (opcional)
  3. Reinicie iTerm 2 (o inicie un nuevo shell)

  4. Pruébelo: Personalmente, utilicé SSH'd para Ubuntu 12.04.1 LTS en AWS EC2> inició byobu (ya configurado para usar la pantalla, en lugar del tmux predeterminado)> Scrollback funciona bien ahora (además, iTerm's mo bettah que Terminal de todos modos ...)

-dk


¡¡Esto es increíble!!
HaxElit

@David Keenan ¡Me alegra que hayas publicado esta solución!
ivan

2

Respuesta corta:

Escriba crtl-a+ [y use las teclas de desplazamiento / flecha o pgup/ pgdwn. Para salir del "modo de desplazamiento" (no el nombre real), presioneEsc

Respuesta larga: este artículo sobre el búfer de desplazamiento de la pantalla.


por favor comente sobre el voto negativo.
lajuette

Tenga en cuenta que este método parece pausar el proceso en ejecución. Lo que puede o no ser deseado
cabalgata el

1

No sé si es posible obtener el búfer de desplazamiento de Terminal para recopilar y trabajar con el desplazamiento hacia atrás de la pantalla gnu.

Le recomiendo que lea más sobre el desplazamiento hacia atrás dentro de la pantalla. Tendrá que aprender algunas combinaciones de teclas nuevas, ya que ya está usando la pantalla, dudo que eso lo asuste.

Con un poco de ayuda de Google , encontré una publicación de blog llamada Trabajar con el buffer de desplazamiento .

Realmente no esperaba que el scrollback se integrara alguna vez con el búfer de Terminal.app. Si cambia de una pantalla virtual a otra, ¿qué sucede con el búfer de Terminal? Si se desconecta de una máquina y se vuelve a conectar tres horas más tarde, el búfer de su Terminal no está sincronizado.

screenes mi pequeña ventana a otro servidor. Me gusta que el búfer de desplazamiento de esa pantalla persista con la sesión, de modo que tenga acceso a él desde donde me conecte. Me gusta que cada pantalla dentro de mi sesión tenga su propio búfer de desplazamiento hacia atrás.

Creo que esto screenfuncionó en gnome y cygwin porque usa la funcionalidad de 'pantalla alternativa' de xterm. Hay más discusión sobre esto en la primera pregunta en esta página de preguntas frecuentes de la pantalla .


Gracias, gran información. Sí, el modo de copia es muy similar a Vim, me gusta. :)
rustychains 05 de

1

Yo uso iTerm 2 . Hay una opción en perfiles> terminal que dice: "Guardar líneas para desplazarse hacia atrás cuando hay una barra de estado de la aplicación". Eso y poner:

defutf8 on
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

en screenrc hizo el truco para mí. Desplazamiento!


0

Si va al menú Terminal y selecciona Preferencias ... luego haga clic en la pestaña de la ventana en la parte inferior hay opciones para Desplazar hacia atrás, ¿está seleccionado el botón de opción Ilimitado?


ilimitado está seleccionado
rustychains 05 de

0

Me doy cuenta de que este es un hilo viejo y ha sido respondido adecuadamente, pero mi reputación no es lo suficientemente alta como para comentar la respuesta adecuada. En el sentido de esta respuesta , puede pegar la variable de entorno en el archivo rc:

termcapinfo $TERM ti@:te@Lo hice por mí. Es como la respuesta referenciada, pero sin comodines.


0

En mi caso, el problema con Mac Terminal.app era que mi perfil de terminal predeterminado no declaraba el terminal como xterm-256color. Cambiar el valor en "Declarar terminal como" bajo el encabezado "Terminfo" de la pestaña "Avanzado" de la configuración de mi perfil solucionó el problema.

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.