Emacs में संकलन कमांड के साथ फ़ाइलों को कैसे जोड़ा जाए?


3

एक चीज जो मैं खुद को बहुत कुछ करता हुआ पाता हूं वह है हर बार जब मैं ईमेक को पुनरारंभ करता हूं, मुझे संकलन कमांड को फिर से लिखना होगा:

make XXX -f path-to-makefile/makefile

कभी-कभी मैं एक बार में अलग-अलग चीजों पर भी काम कर सकता हूं, उदाहरण के लिए। नेट दस्तावेज़ और लेखन कोड का संपादन करना, और मैं संकलन कमांड को एक से दूसरे में स्विच करने के बाद समाप्त करना चाहता हूं।

क्या ऐसा करने के लिए इससे अच्छा तरीका है? क्या मैं किसी तरह फाइल को विशिष्ट संकलन कमांड के साथ जोड़ सकता हूं जो डिफ़ॉल्ट रूप से emacs के लिए जाना जाता है? या वहाँ कुछ अन्य दृष्टिकोण है कि मेरे संकलन वर्कफ़्लो में सुधार होगा?

जवाबों:


0

कभी-कभी मैं एक बार में अलग-अलग चीजों पर भी काम कर सकता हूं, उदाहरण के लिए। नेट दस्तावेज़ और लेखन कोड का संपादन करना, और मैं संकलन कमांड को एक से दूसरे में स्विच करने के बाद समाप्त करना चाहता हूं।

मैंने कई संकलन आदेशों को परिभाषित करते हुए (इसके अर्थ में) इससे निपटने में मदद करने के लिए थोड़ा सा लिखा है M-x ), प्रत्येक अपने स्वयं के बफर और शेल कमांड के साथ जुड़ा हुआ है।

यहाँ प्रासंगिक कोड है: https://gist.github.com/ffevotte/6130884

इस विन्यास के साथ, मैं 4 संकलन कमांड को परिभाषित करता हूं, जिसे मैं बांधता हूं <F5> - <F8> कुंजियाँ, और मैं अक्सर निम्नलिखित के समान वर्कफ़्लो का उपयोग करते हैं:

  • <f5> (या M-x compile5 ): से संबंधित make -k
  • <f6> (या M-x compile6 ): से संबंधित make -k test
  • <f7> (या M-x compile7 ): से संबंधित doxygen

हर बार जब मैं emacs को पुनः आरंभ करता हूं, मुझे संकलन कमांड को फिर से लिखना होगा

यह कुछ ऐसा है जो मैं ज्यादा नहीं करता (Emacs को पुनरारंभ करना)। हालांकि, एक नज़र डालें compile-command चर। प्रलेखन से ( C-h v compile-command ):

अंतिम शेल कमांड एक संकलन करते थे; अगले संकलन के लिए डिफ़ॉल्ट।

कभी-कभी फ़ाइलों के लिए इस चर के लिए स्थानीय मानों की आपूर्ति करना उपयोगी होता है।

(लेकिन कृपया इसे फ़ाइल-स्थानीय चर के रूप में उपयोग करने के बारे में चेतावनी भी पढ़ें।

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