Como executar um comando exclusivo anterior em um shell Emacs (sem repetições)?

9

No shell do Emacs, existe um comando semelhante a M-pmas que ignoraria comandos repetidos? Ou seja, passaria para o próximo comando diferente . Semelhante ao terminal Linux normal.

Então, se eu fosse correr:

ls
./script
./script
./script
make

e pressione M-ptrês vezes, quero que vá ao comando ls.

Ou, alternativamente, como posso definir um comando como este?

Anton
fonte

Respostas:

7

O shell você começa a partir M-x shellbaseia-se comint, portanto, você pode definir comint-input-ignoredupspara ta fim de obter o comportamento desejado. A ajuda até menciona bash:

comint-input-ignoredups é uma variável definida em `comint.el '.

Documentação:

Se não for nulo, não adicione entrada correspondente à última no anel de entrada.

Isso reflete o comportamento opcional do bash.

Essa variável é local do buffer.

Você pode personalizar essa variável.

Omar
fonte
incrível, exatamente o que eu estava procurando, obrigado!
628 Anton Anton
1

Você também pode usar M-x comint-dynamic-list-input-ringe chamar por C-c C-l. Você também pode definir C-h v comint-input-ignoredupspara tver comandos exclusivos apenas na lista acima.

aartista
fonte