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?

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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.