Bagaimana menjalankan perintah unik sebelumnya dalam shell Emacs (tanpa mengulangi)?

9

Dalam shell Emacs, apakah ada perintah yang mirip M-ptetapi yang akan melewatkan perintah berulang? Artinya, itu akan pergi ke perintah berbeda berikutnya . Mirip dengan terminal Linux biasa.

Jadi jika saya lari:

ls
./script
./script
./script
make

dan tekan M-ptiga kali, saya ingin pergi ke perintah ls.

Atau, sebagai alternatif, bagaimana saya bisa mendefinisikan perintah seperti ini?

Anton
sumber

Jawaban:

7

Shell Anda dapatkan dari M-x shelldidasarkan pada comint, sehingga Anda dapat mengatur comint-input-ignoredupsuntuk tuntuk mendapatkan perilaku yang Anda inginkan. Bahkan bantuan menyebutkan bash:

comint-input-ignoredups adalah variabel yang didefinisikan dalam `comint.el '.

Dokumentasi:

Jika bukan nol, jangan tambahkan input yang cocok dengan yang terakhir pada ring input.

Ini mencerminkan perilaku opsional bash.

Variabel ini adalah buffer-local.

Anda dapat menyesuaikan variabel ini.

Omar
sumber
luar biasa, persis apa yang saya cari, terima kasih!
Anton
1

Anda juga dapat menggunakan M-x comint-dynamic-list-input-ringdan dipanggil oleh C-c C-l. Anda juga dapat mengatur C-h v comint-input-ignoredupsuntuk tmelihat perintah unik hanya di daftar di atas.

aartis
sumber