Comment exécuter une commande unique précédente dans un shell Emacs (sans répétitions)?


9

Dans le shell Emacs, existe-t-il une commande similaire à celle M-pqui ignorerait les commandes répétées? Autrement dit, il irait à la commande différente suivante . Similaire au terminal Linux classique.

Donc, si je devais courir:

ls
./script
./script
./script
make

et appuyez M-ptrois fois, je veux qu'il passe à la commande ls.

Ou bien, comment puis-je définir une commande comme celle-ci?

Réponses:


7

Le shell que vous obtenez de M-x shellest basée sur comint, de sorte que vous pouvez définir comint-input-ignoredupsà tafin d'obtenir le comportement que vous voulez. L'aide mentionne même bash:

comint-input-ignoredups est une variable définie dans `comint.el '.

Documentation:

Si non nul, n'ajoutez pas d'entrée correspondant à la dernière sur l'anneau d'entrée.

Cela reflète le comportement facultatif de bash.

Cette variable est buffer-local.

Vous pouvez personnaliser cette variable.


génial, exactement ce que je cherchais, merci!
Anton

1

Vous pouvez également utiliser M-x comint-dynamic-list-input-ringet invoqué par C-c C-l. Vous pouvez également définir C-h v comint-input-ignoredupspour tafficher les commandes uniques uniquement dans la liste ci-dessus.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.