Как запустить предыдущую уникальную команду в оболочке Emacs (без повторов)?


9

В оболочке Emacs есть команда, похожая на, M-pно которая пропустит повторные команды? То есть он пойдет к следующей другой команде. Аналогично обычному терминалу Linux.

Так что, если бы я должен был бежать:

ls
./script
./script
./script
make

и нажмите M-pтри раза, я хочу, чтобы перейти к команде ls.

Или, в качестве альтернативы, как я могу определить такую ​​команду?

Ответы:


7

Оболочка вы получаете от M-x shellоснована на comint, так что вы можете установить comint-input-ignoredupsдля tтого , чтобы получить поведение , которое вы хотите. В справке даже упоминается Bash:

comint-input-ignoredups - это переменная, определенная в `comint.el '.

Документация:

Если не ноль, не добавляйте ввод, соответствующий последнему на входном кольце.

Это отражает необязательное поведение bash.

Эта переменная является локальной для буфера.

Вы можете настроить эту переменную.


офигенно, именно то, что я искал, спасибо!
Антон

1

Вы также можете использовать M-x comint-dynamic-list-input-ringи вызывать C-c C-l. Вы также можете установить, C-h v comint-input-ignoredupsчтобы tвидеть уникальные команды только в списке выше.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.