Jak uruchomić poprzednie unikalne polecenie w powłoce Emacsa (bez powtórzeń)?


9

Czy w powłoce Emacsa istnieje polecenie podobne do tego, M-pale które pomijałoby powtarzające się polecenia? Oznacza to, że przejdzie do następnego innego polecenia. Podobny do zwykłego terminalu Linux.

Więc gdybym miał uruchomić:

ls
./script
./script
./script
make

i naciśnij M-ptrzy razy, chcę przejść do polecenia ls.

Lub, alternatywnie, jak mogę zdefiniować takie polecenie?

Odpowiedzi:


7

Powłoka otrzymasz od M-x shellopiera się na comint, więc można ustawić comint-input-ignoredups, aby tw celu uzyskania żądane zachowanie. Pomoc wspomina nawet o bash:

comint-input-ignoredups to zmienna zdefiniowana w `comint.el '.

Dokumentacja:

Jeśli nie ma wartości zero, nie dodawaj danych wejściowych pasujących do ostatnich na pierścieniu wejściowym.

Odzwierciedla to opcjonalne zachowanie bash.

Ta zmienna jest lokalna dla bufora.

Możesz dostosować tę zmienną.


super, dokładnie to, czego szukałem, dzięki!
Anton

1

Możesz także używać M-x comint-dynamic-list-input-ringi wywoływać przez C-c C-l. Można również ustawić C-h v comint-input-ignoredups, aby tzobaczyć unikalne komendy tylko w powyższym wykazie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.