Eshell: Ir a la línea de solicitud al presionar la tecla

8

A veces, cuando me desplazo hacia arriba en eshell, el punto deja la línea del símbolo del sistema para permanecer en el área visible. Cuando luego ingreso un comando, no ingreso el comando en el indicador, pero el evaluador inserta el texto en algún lugar en la salida de los comandos previamente llamados. Esto es bastante molesto.

¿Cómo puedo asegurarme de que el retorno de eshell apunte al símbolo del sistema cuando ingreso un carácter, como en otros shells?

/ edit: Aquí hay un screencast de la situación. Escribo ls, luego me desplazo hacia arriba para revisar la salida, luego decido que quiero hacer un cd .., pero como solo inserta el comando en el punto, resulta ser basura.

eshell-scroll-point

Geier
fuente
No creo que sea molesto. En Eshell, puede ejecutar un comando desde cualquier lugar y usar la salida anterior, no solo después del último símbolo del sistema, obviamente es una característica muy interesante. Para mí, esta característica es la razón principal por la que uso Eshell. Para ir al último símbolo del sistema, uso M->.
xuchunyang
¿Existe la posibilidad de proporcionar una captura de pantalla de un caso en el que el punto sale de la línea de comando y desea devolver el punto al símbolo del sistema insertando un carácter arbitrario? ¿Está el punto izquierdo en la misma línea que el último aviso? ¿Te gusta volver al último aviso? ¿Qué pasa si hay algún texto incompleto en el último mensaje?
Nombre
@xuchunyang: El problema es realmente que el punto se aleja del indicador cuando no lo quiero (es decir, cuando me desplazo hacia arriba, veo el screencast). Por lo tanto, tener el punto en el indicador a menos que lo mueva solo a algún lugar sería la solución "real". Sin embargo, parece que el punto siempre debe estar en el área visible en emacs.
Geier

Respuestas:

5
(setq eshell-scroll-to-bottom-on-input t)

Debes hacer lo que quieras.

xuchunyang
fuente
Esto parece funcionar.
Nombre
1
Sí, eso funciona. Aquí hay un screencast: i.imgur.com/Mjzt8j2.gif
Geier
0

Creo que lo que está buscando es el comportamiento del Plan 9 Smart Shell en Emacs. Mickey Peterson lo cubrió en su reciente libro Mastering Emacs , que implica agregarlos a su archivo init.el:

(require 'eshell)
(require 'em-smart)
(setq eshell-where-to-jump 'begin)
(setq eshell-review-quick-commands nil)
(setq eshell-smart-space-goes-to-end t)
Usuario de Emacs
fuente
No funciona :(
Geier
Hay tres opciones que ya tienen el mismo valor que configuró (al menos en Emacs 25 que estoy usando), por lo que es posible que no las vuelva a configurar ahora.
xuchunyang