क्या मैं स्वचालित रूप से और चुपचाप परिवर्तनों को स्वीकार करने के लिए एक विशेष फ़ाइल सेट कर सकता हूं?


9

यही है, क्या मैं किसी विशेष फ़ाइल के लिए निर्दिष्ट कर सकता हूं जो मैं नहीं चाहता कि एमएसीएस मुझे सूचित करें कि फ़ाइल डिस्क पर बदल गई है और मुझे इस बारे में संकेत देना है कि मैं परिवर्तनों को स्वीकार करना चाहता हूं या नहीं? मैं इसे विश्व स्तर पर नहीं करना चाहता, बस मुझे पता है कि फ़ाइलों के लिए अक्सर एमएसीएस (विशेष रूप से, कैलेंडर से संबंधित ओआरजी फाइलें) के बाहर बदला जाएगा।

जवाबों:


8

आप मैन्युअलM-x auto-revert-mode ( मैनुअल ) के साथ एक विशिष्ट बफर के लिए ऐसा कर सकते हैं । फ़ाइल बफ़र्स के लिए, यह auto-revert-intervalपरिवर्तनों के लिए हर सेकंड (5 से डिफॉल्ट) की जाँच करेगा और स्वचालित रूप से डिस्क से बफर अपडेट करेगा।

आपका शीर्षक "एक विशेष फ़ाइल" कहता है, जबकि आपके प्रश्न का शरीर एक फ़ाइल प्रकार (org फ़ाइलें) का उल्लेख करता है। अपनी परिस्थितियों पर निर्भर करते हुए, यहां कुछ तरीके दिए गए हैं जिनसे आप लगातार तरीके से वांछित प्रभाव प्राप्त कर सकते हैं। यदि वे आपके विशेष उपयोग के मामले में लागू होते हैं, तो पहले के तरीके यकीनन क्लीनर और अधिक कुशल हैं।

यदि आप जानते हैं कि आप एक निश्चित प्रकार की प्रत्येक फ़ाइल के लिए ऐसा चाहते हैं, तो अपने इनिट सेटअप में एक मोड हुक जोड़ने पर विचार करें।

(add-hook 'org-mode-hook (lambda () (auto-revert-mode 1)))

यदि आप जानते हैं कि आप इसे एक निश्चित निर्देशिका में सब कुछ के लिए चाहते हैं, तो इसे संबंधित स्थान पर .dir-locals.el में सेट करने पर विचार करें, यदि उचित हो तो वीसीएस-स्थानीय सेटिंग्स फ़ाइल को अनदेखा करना सुनिश्चित करें। यह उदाहरण समान निर्देशिका (और उप-विभाजनों) के तहत फ़ाइलों के लिए सभी org- मोड बफ़र्स पर लागू होगा। तुम भी M-x add-dir-local-variableEmacs उत्पन्न करने के लिए चला सकते हैं और यह आपके लिए स्वचालित रूप से सहेज सकते हैं।

(
  (org-mode . ((auto-revert-mode . 1)))
 )

यदि उपरोक्त दोनों में से कोई भी आपके लिए अच्छी तरह से काम नहीं करता है, तो प्रत्येक फ़ाइल में एक फ़ाइल स्थानीय चर सेट पर विचार करें । इनमें से किसी एक को सेट करने का सबसे छोटा, सामान्य तरीका निम्न को लक्ष्य फ़ाइल की पहली पंक्ति में शामिल करना है:

-*- eval: (auto-revert-mode 1); -*-

स्रोत फ़ाइलों में, पाठ एक टिप्पणी सीमांकक (//, #, आदि) का अनुसरण कर सकता है। आप M-x add-file-local-variable-proplineEmacs को अपने लिए या स्वचालित रूप M-x add-file-local-variableसे अपनी फ़ाइल के निचले भाग का उपयोग करने वाले प्रारूप के लिए इसे उत्पन्न करने के लिए चला सकते हैं ।

यदि आप किसी और के साथ फ़ाइल साझा नहीं कर रहे हैं, तो केवल इस पद्धति का उपयोग करें। से जीएनयू मैनुअल :

इस तरह से मामूली मोड को निर्दिष्ट करना अक्सर एक गलती है। मामूली मोड व्यक्तिगत उपयोगकर्ता प्राथमिकताओं का प्रतिनिधित्व करते हैं, और यह आपकी पसंद को किसी अन्य उपयोगकर्ता पर लागू करने के लिए अनुचित हो सकता है जो फ़ाइल को संपादित कर सकते हैं। यदि आप स्थिति-निर्भर तरीके से एक मामूली मोड को स्वचालित रूप से सक्षम या अक्षम करना चाहते हैं, तो इसे अक्सर एक प्रमुख मोड हुक में करना बेहतर होता है।


2
(auto-revert-mode 1)इसके बजाय एक मामूली मोड को चालू करने के लिए एक विहित तरीका नहीं है setq?
mbork

1
हाँ तुम सही हो। एक सेकंड में उस उदाहरण की सफाई। धन्यवाद।
मियां

1
आपका स्वागत है। (उस ने कहा, AFAIU, फ़ाइल स्थानीय चर ओपी के उपयोग के मामले के लिए सबसे उपयुक्त हैं।)
mbork

1
आप सही हो सकते हैं। IMO यह उनके फ़ाइल संगठन के विवरण पर निर्भर करता है। यदि वे फ़ाइलें जो जानते हैं कि उन्हें अक्सर emacs के बाहर बदल दिया जाएगा, सभी ओआरजी फाइलें हैं, या सभी एक ही स्थान पर होती हैं (जैसे ड्रॉपबॉक्स निर्देशिका), एक मोड- या निर्देशिका-आधारित दृष्टिकोण क्लीनर और आसान हो सकता है, और इससे बचना होगा एक बोनस के रूप में उनकी फ़ाइलों को अव्यवस्थित करना।
मियां

2
इन दोनों तरीकों के साथ इंटरफेस करने के लिए, वहाँ हैं add-file-local-variableऔर add-dir-local-variable
सीन एलेड

3

हाँ। इसे अपनी फ़ाइल के अंत में रखें।

* COMMENT Config
Local Variables:
eval: (auto-revert-mode 1)
End:

यह ऑर्ग-मोड को मानता है, अन्य मोड के लिए नीचे दी गई लिंक में बताई गई भाषा में टिप्पणियों का उपयोग करें।

नोट: पृष्ठभूमि, सुरक्षा जानकारी और चेतावनी के लिए मैनुअल में फ़ाइलों में स्थानीय चर देखें कि यह हमेशा एक अच्छा विचार नहीं हो सकता है। इसके अलावा, reverting पर अनुभाग कहता है कि कैसे डिफ़ॉल्ट को बदलने के लिए, ऑटो- reverting के लिए 5-secind अंतराल।


क्या यह बिल्कुल अंत में होने की आवश्यकता है? मैं एक स्क्रिप्ट है जो .org पैदा फ़ाइलें और मैं इसे शुरुआत के निकट में रख दिया था - जो काम करने के लिए प्रतीत नहीं होता है ....
emacsomancer

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