Por supuesto, cuando estoy en la Terminal y presiono la tecla de flecha hacia arriba, va al comando anterior. Sin embargo, cuando presiono las M-xteclas y shellescribo, aparece un shell integrado en Emacs:

Sin embargo, si escribo un comando y presiono hacia arriba, esto sucede:

¿Cómo vuelvo al último comando que escribí?

RET. Por supuestoC-upes mucho más fácil.Respuestas:
La función que retrocede a través del historial de entrada, guardando la entrada. es
comint-previous-inputSe ve obligada a C-up, M-p.
fuente
Acabo de encontrar una respuesta en Super Usuario:
¿Cómo ejecutas el comando anterior en emacs shell?
M-p va al comando anterior.
fuente
Puede usar helm-eshell-history para la selección interactiva del historial y reemplazar el original
C-c C-l:fuente
Mis comandos favoritos para recorrer el historial de comandos de shell son
comint-previous-matching-input-from-inputycomint-next-matching-input-from-input. Si el mensaje está vacío, se comportarán exactamente igualcomint-previous-inputycomint-next-inputrecorrerán todos los elementos del historial. Sin embargo, si ha ingresadorake, por ejemplo, recorrerán su historial de comandos de shell desde los comandos que comienzan conrake.Por defecto, estos están vinculados a
C-c M-ryC-c M-srespectivamente, pero encuentro que no son ideales. Los estoy vinculando personalmente aM-TABy<M-S-tab>.fuente
Otra posibilidad, si usa Icicles : Use
C-c TAB(comandoicicle-comint-command) para elegir un comando ingresado previamente con finalización (o ciclo).fuente
Las cosas han cambiado un poco en Eshell, así que aquí está mi solución de trabajo actualizada para usar helm-eshell-history
fuente