Come eseguire un comando univoco precedente in una shell Emacs (senza ripetizioni)?


9

Nella shell di Emacs, esiste un comando simile a M-pma che salta i comandi ripetuti? Cioè, andrebbe al prossimo comando diverso . Simile al normale terminale Linux.

Quindi se dovessi correre:

ls
./script
./script
./script
make

e premere M-ptre volte, voglio che vada al comando ls.

Oppure, in alternativa, come posso definire un comando come questo?

Risposte:


7

La shell da cui si ottiene M-x shellsi basa su comint, quindi è possibile impostare comint-input-ignoredupsal tfine di ottenere il comportamento desiderato. L'aiuto menziona anche bash:

comint-input-ignoredups è una variabile definita in `comint.el '.

Documentazione:

Se non nullo, non aggiungere l'input corrispondente all'ultimo sull'anello di input.

Questo rispecchia il comportamento opzionale di bash.

Questa variabile è buffer-locale.

Puoi personalizzare questa variabile.


fantastico, esattamente quello che stavo cercando, grazie!
Anton

1

È inoltre possibile utilizzare M-x comint-dynamic-list-input-ringe invocato da C-c C-l. Puoi anche impostare C-h v comint-input-ignoredupssu tper visualizzare comandi univoci solo nell'elenco sopra.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.