Cómo permitir que Shell regrese a la línea anterior después de salir de un proceso de pantalla completa como Vim

Cómo permitir que Shell regrese a la línea anterior después de salir de un proceso de pantalla completa como Vim

me conecto aCarcasa Zen una máquina Red Hat Enterprise Linux 6.2 a través deMasilla. Después de salir de un proceso de pantalla completa, por ejemplo, Vim y menos, en el shell de Unix, el indicador del shell comienza en la última línea de la pantalla. La pantalla de arriba todavía muestra el contexto de ese proceso, por lo que perdí todo el material que mostraba el shell antes de abrir ese proceso.

Esto no sucede en mi propio cuadro de Ubuntu, donde después de salir de un proceso, vuelvo a la línea debajo del último comando que escribí.

¿Qué opciones puedo cambiar (¿tal vez en zshrc?) para que se comporte como mi caja de Ubuntu?

Respuesta1

Yo también he visto este problema. Verifique la configuración de PuTTY en Terminal->Características. Si está marcado "Deshabilitar el cambio a la pantalla de terminal alternativa", desmárquelo. (Todas mis configuraciones en esa página están desmarcadas). La ayuda para esa opción parece prometedora.

Fallando en eso,esta páginaDescubrí que buscando en Google podría darte algunas ideas. Es posible que puedas configurar algunas cosas de terminfo para que funcione correctamente.

Respuesta2

Después de solucionar este problema hace mucho tiempo, me encontré con un problema similar, donde Vim no tenía este problema, pero lesssí. Esto lesstambién afectó a todos los programas que usan, como man. Descubrí que la causa era la LESSvariable de entorno, que enumera los argumentos que se pasarán automáticamente lesscada vez que se invoque. La opción dentro LESSque causó esto fue -X:

-Xo--no-init

Deshabilita el envío de cadenas de inicialización y desinicialización de termcap al terminal. A veces esto es deseable si la cadena de desinicialización hace algo innecesario, como borrar la pantalla.

También aprendí deUnix y Linux: “ less --quit-if-one-screensin --no-initque si desactivas -X/ --no-init, debes desactivar -F/ --quit-if-one-screentambién (si lo tienes configurado).

Para solucionarlo lessde modo que siempre restaure su pantalla al salir, cambie el valor de LESSen el archivo de inicialización de shell apropiado. Esto será .bashrcpara Bash, .zshenvZsh y .config/fish/config.fishFish. A este archivo, agregue el comando export LESS='<all the flags you want, without -X or -F>'o set -gx LESS <flags>para pescar. Puede ejecutar echo $LESSde antemano para ver los indicadores existentes y copiarlos en su declaración export/ .set

Respuesta3

¡Me lo imaginé! Todo lo que tengo que hacer es $TERMconfigurarlo xterm. Solía ​​serlinux

export TERM=xterm 

¡Gracias por el enlace y las sugerencias, David!

información relacionada