รันสคริปต์ภายนอกเมื่อบันทึกเมื่ออยู่ในโหมดใดโหมดหนึ่ง?


12

เมื่อฉันเข้าorg-modeฉันต้องการให้ Emacs ใช้สคริปต์ทุบตีที่ฉันเขียนเมื่อใดก็ตามที่ฉันC-x sบันทึกเพื่อบันทึก สคริปต์จะซิงค์ไฟล์ที่ฉันบันทึกลงใน Raspberry Pi โดยอัตโนมัติ มันคาดว่าชื่อไฟล์เป็นอาร์กิวเมนต์

ฉันจะบอก Emac ให้เรียกใช้สคริปต์ภายนอกในorgไฟล์เมื่อฉันบันทึกได้อย่างไร


4
คุณสามารถใช้after-save-hookเพื่อเรียกใช้สคริปต์
Iqbal Ansari

นี่เป็นผู้ย้ายถิ่นฐานคนแรกของเราหรือไม่ :-)
Malabarba

@Malabarba นี้เป็นครั้งที่สองที่ผมได้เห็น :)
Kaushal Modi

คำตอบ:


11

นี่คือการตั้งค่าอย่างง่ายที่คุณสามารถปรับเปลี่ยนได้ซึ่งอนุญาตให้คุณซิงค์orgไฟล์กับ Raspberry Pi ของคุณตามสคริปต์ทุบตี (แน่นอนยังไม่ทดลองเพราะฉันไม่มี Pi หรือสคริปต์ของคุณ) แก้ไขฟังก์ชันด้วยชื่อสคริปต์ของคุณ มันใช้shell-command-to-stringเพื่อเอาท์พุทบรรทัดคำสั่งบางแห่ง; คุณสามารถใช้shell-commandหากไม่ได้เป็นกังวล

จากนั้นคุณสามารถเพิ่มลงในafter-save-hookตามความคิดเห็นของ @ IqbalAnsari

(defun sync-to-pi ()
  "Sync org file to Raspberry Pi with external script."
  (when (eq major-mode 'org-mode)
    (shell-command-to-string (format "your-script-name %s" buffer-file-name))))

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