एक निश्चित मोड में बचाने पर बाहरी स्क्रिप्ट निष्पादित करें?


12

जब मैं अंदर आता हूं org-mode, मैं चाहता हूं कि एमाक्स एक बैश स्क्रिप्ट को निष्पादित करें जिसे मैंने लिखा था जब भी मैं C-x sबचाने के लिए मारा । स्क्रिप्ट स्वचालित रूप से उस फ़ाइल को सिंक करती है जिसे मैं अपने रास्पबेरी पाई में सहेज रहा हूं। यह फ़ाइल नाम तर्क के रूप में की अपेक्षा करता है।

orgजब मैं सहेजता हूं तो मैं Emacs को फ़ाइलों पर बाहरी स्क्रिप्ट को चलाने के लिए कैसे कहूं ?


4
आप after-save-hookस्क्रिप्ट को चलाने के लिए उपयोग कर सकते हैं
इकबाल अंसारी

क्या यह हमारा पहला आप्रवासी है? :-)
मालाबार

@ मलबारबा यह दूसरा मैंने देखा है :)
कौशल मोदी

जवाबों:


11

यहां एक सरल सेटअप है जिसे आप संशोधित कर सकते हैं जो आपको orgआपकी बैश स्क्रिप्ट (अनुपलब्ध, निश्चित रूप से, क्योंकि मेरे पास न तो पीआई है और न ही आपकी स्क्रिप्ट है) के आधार पर फ़ाइलों को आपके रास्पबेरी पाई में सिंक करने की अनुमति देता है । अपने स्क्रिप्ट नाम के साथ फ़ंक्शन को संशोधित करें। यह shell-command-to-stringकमांड लाइन आउटपुट को कहीं न कहीं डालने के लिए उपयोग करता है; shell-commandअगर आप चिंता का विषय है तो आप भी इसका इस्तेमाल कर सकते हैं ।

इसके बाद आप इसे जोड़ सकते हैं after-save-hook, जैसा कि @ इकबालअंसारी की टिप्पणी से पता चलता है।

(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)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.