มีโหมดสำหรับการดูการกดแป้นการสูญเสียแบบเรียลไทม์หรือไม่?


17

C-h lแสดงบัฟเฟอร์ความช่วยเหลือที่สูญเสียซึ่งแสดงการกดแป้นล่าสุด การกดgปรากฏขึ้นเพื่อย้อนกลับทำให้การอัปเดต น่าเสียดายที่การเปิดใช้งานauto-revert-modeจะไม่เปลี่ยนเป็นการอัปเดตอย่างต่อเนื่อง

มันจะดีถ้าฉันสามารถเปิดหน้าต่างหรือเฟรมอื่นและแสดงการสูญเสียแบบเรียลไทม์เพื่อแสดงให้ผู้ชมเห็นว่าฉันกำลังพิมพ์อะไรอยู่ สิ่งนี้สามารถใช้สำหรับการจับคู่ในเซสชัน tmux / tmate วิดีโอออนไลน์บางรายการมีลักษณะเช่นนี้ แต่ดูเหมือนจะเป็นแอปพลิเคชันภายนอกและระบบปฏิบัติการเฉพาะ

มีวิธีที่ดีในการแสดงการกดแป้นในเวลาจริงตามที่เกิดขึ้นจากภายใน Emacs หรือไม่?

คำตอบ:


19

การตอบคำถามสุดท้ายในโพสต์ของคุณ: คุณสามารถรับบันทึกการอัพเดทคำสั่ง & การกดแป้นได้โดยอัตโนมัติโดยใช้https://github.com/lewang/command-log-modeซึ่งมีให้ใน MELPA - ตามค่าเริ่มต้นจะแสดงเฉพาะ คำสั่งที่ไม่น่าสนใจ (ดังนั้นจึงไม่มีคำสั่งแทรกด้วยตนเองหรือเคอร์เซอร์การเคลื่อนไหว) ดูเหมือนว่านี้:

ป้อนคำอธิบายรูปภาพที่นี่


9

ใช่. มีแพคเกจที่เรียกว่าเป็นmwe-log-commandsที่มีอยู่ใน MELPA

เพียงแค่เรียกใช้M-x mwe:log-keyboard-commandsเพื่อเริ่มการบันทึกจากนั้นM-x mwe:open-command-log-bufferจะเปิดบัฟเฟอร์ที่แสดงคำสั่งที่พิมพ์ในเวลาจริง

command-log-modeเป็นทางแยกที่ใหม่กว่าและได้รับการดูแลรักษามากขึ้นmwe-log-commandsดังนั้นจึงอาจเป็นที่นิยมในสมัยนี้


7

คุณสามารถใช้ post-command-hook เพื่ออัปเดตบัฟเฟอร์ lossage ตัวอย่างต่อไปนี้ทำเพื่อคุณ (บนพื้นฐานของบัฟเฟอร์ในระบบ) แต่ถือว่าคุณเปลี่ยนชื่อบัฟเฟอร์การสูญเสียเป็น "การสูญเสีย" (ดังนั้นวิธีนี้คุณยังสามารถเปิดบัฟเฟอร์ความช่วยเหลืออื่น ๆ ได้)

(defun update-lossage-buffer ()
  "Update the \"Lossage\" buffer.
For this to work, visit the lossage buffer, and call
M-x rename-buffer Lossage RET"
  (save-excursion
    (let ((b (get-buffer "Lossage")))
      (when (buffer-live-p b)
        (with-current-buffer b
          (revert-buffer nil 'noconfirm))))))
(add-hook 'post-command-hook #'update-lossage-buffer nil 'local)

3

บัฟเฟอร์วิธีใช้ lossage ไม่ได้เชื่อมโยงกับไฟล์บนดิสก์ ดังนั้นโหมดการย้อนกลับอัตโนมัติจะไม่ทำงาน ทางเลือกเรียลไทม์หลอกสามารถใช้ (open-dribble-file "FILE")ซึ่งเขียนการกดแป้นพิมพ์ทั้งหมดไปที่ไฟล์ การใช้auto-revert-tail-modeบนบัฟเฟอร์ไฟล์สามารถสะท้อนการกดแป้น

อีกวิธีหนึ่งคือให้คำแนะนำself-insert-command(และคีย์นำหน้าบางคำ) เพื่อสะท้อนไปยังบัฟเฟอร์

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