¿Cómo ejecutar un comando único anterior en un shell de Emacs (sin repeticiones)?

9

En el shell de Emacs, ¿hay un comando similar M-ppero que omitiría los comandos repetidos? Es decir, iría al siguiente comando diferente . Similar a la terminal regular de Linux.

Entonces, si tuviera que correr:

ls
./script
./script
./script
make

y presione M-ptres veces, quiero que vaya al comando ls.

O, alternativamente, ¿cómo puedo definir un comando como este?

Anton
fuente

Respuestas:

7

La cáscara se obtiene a partir de M-x shellse basa en comint, lo que puede establecer comint-input-ignoredupsa tfin de obtener el comportamiento que desea. La ayuda incluso menciona bash:

comint-input-ignoredups es una variable definida en `comint.el '.

Documentación:

Si no es nulo, no agregue una entrada que coincida con la última en el anillo de entrada.

Esto refleja el comportamiento opcional de bash.

Esta variable es buffer-local.

Puedes personalizar esta variable.

Omar
fuente
increíble, exactamente lo que estaba buscando, ¡gracias!
Anton
1

También puede usar M-x comint-dynamic-list-input-ringe invocado por C-c C-l. También puede configurar C-h v comint-input-ignoredupspara tver comandos únicos solo en la lista anterior.

un artista
fuente