วิธีรันคำสั่งเฉพาะก่อนหน้านี้ใน Emacs shell (โดยไม่ต้องทำซ้ำ)


9

ใน Emacs shell มีคำสั่งที่คล้ายกับM-pแต่คำสั่งใดที่จะข้ามคำสั่งซ้ำ? นั่นคือมันจะไปที่คำสั่งต่าง ๆถัดไป คล้ายกับเทอร์มินัล Linux ทั่วไป

ดังนั้นถ้าฉันต้องวิ่ง:

ls
./script
./script
./script
make

และกดM-pสามครั้งฉันต้องการให้มันไปที่คำสั่ง ls

หรืออีกวิธีหนึ่งฉันจะกำหนดคำสั่งเช่นนี้ได้อย่างไร

คำตอบ:


7

เชลล์ที่คุณได้รับมาจากM-x shellพื้นฐานcomintดังนั้นคุณสามารถตั้งค่าcomint-input-ignoredupsเป็นtเพื่อให้ได้พฤติกรรมที่คุณต้องการ ความช่วยเหลือที่กล่าวถึงทุบตี:

comint-input-ละเว้นupsเป็นตัวแปรที่กำหนดไว้ใน `comint.el '

เอกสารอ้างอิง:

หากไม่ใช่ไม่มีอย่าเพิ่มอินพุตที่ตรงกับตัวสุดท้ายบนวงแหวนป้อนข้อมูล

สิ่งนี้จะสะท้อนพฤติกรรมที่ไม่จำเป็นของการทุบตี

ตัวแปรนี้เป็นบัฟเฟอร์ท้องถิ่น

คุณสามารถปรับแต่งตัวแปรนี้


ยอดเยี่ยมสิ่งที่ฉันกำลังมองหาขอบคุณ!
Anton

1

นอกจากนี้คุณยังสามารถใช้และเรียกโดยM-x comint-dynamic-list-input-ring C-c C-lคุณสามารถตั้งค่าC-h v comint-input-ignoredupsให้ tดูคำสั่งเฉพาะในรายการด้านบน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.