यदि मैं एक बड़ी फ़ाइल लोड करना चाहता हूं, तो मुझे मुझसे पूछने से कैसे रोकें?


18

जब मैं emacs में एक बड़ी फ़ाइल खोलता हूं, तो मुझे एक संदेश मिलता है जिसमें कहा जाता है कि 'foo.bar फ़ाइल बड़ी है; सच में खुला? '

मैं हर समय मुझे यह सवाल पूछने से कैसे रोक सकता हूं? दूसरे शब्दों में, यदि मैं फ़ाइल खोलता हूं, तो मैं फ़ाइल को खोलना चाहता हूं, चाहे वह कितनी भी बड़ी हो।


उत्तर यहाँ उपलब्ध है: superuser.com/questions/508498/… (सेट-लार्ज-फाइल-वार्निंग-थ्रेशोल्ड नील)
R Perrin

नीचे दिए गए गिल्स का उत्तर अधिक पूर्ण है और आपको सिखाएगा कि आपकी अगली समस्याओं को कैसे हल किया जाए।
9

जवाबों:


29

मैनुअल के माध्यम से

में मैनुअल (जो आप जानकारी में Emacs अंदर ब्राउज़ कर सकते हैं: C-h i m Emacs RET): अध्याय पर जाने फ़ाइलों तो अनुभाग पर, पर जाकर (यानी उद्घाटन) फ़ाइलें। शब्द "बड़े" के लिए देखें:

यदि आप किसी फ़ाइल से बड़ी यात्रा करने की कोशिश करते हैं large-file-warning-threshold(डिफ़ॉल्ट 10000000 है, जो लगभग 10 मेगाबाइट है), तो Emacs आपसे पहले पुष्टि के लिए पूछता है। आप फ़ाइल पर जाकर y का उत्तर दे सकते हैं।

यह पूरी कहानी नहीं है, आप large-file-warning-threshold( C-h v large-file-warning-threshold RET) के प्रलेखन को देखकर अधिक जानकारी प्राप्त कर सकते हैं ।

बड़े फ़ाइल-चेतावनी-दहलीज में परिभाषित एक चर है files.el
इसका मूल्य 10000000 है

फ़ाइल का अधिकतम आकार जिसके ऊपर एक पुष्टि का अनुरोध किया गया है।
जब शून्य, पुष्टि का अनुरोध कभी नहीं।

मान सेट करने के लिए, आप या तो कस्टमाइज़ इंटरफ़ेस का उपयोग कर सकते हैं (चर के लिए मदद स्क्रीन में एक लिंक है), या अपने स्टेटमेंट में निम्नलिखित डालें .emacs:

(setq large-file-warning-threshold nil)

टाइप करें, C-M-xजबकि बिंदु उस लाइन पर है जिसे अब निष्पादित करना है।

अनुकूलित इंटरफ़ेस में

"फाइल्स" के तहत, "फाइल्स फाइल्स" के तहत, एक सेटिंग "लार्ज फाइल वार्निंग थ्रेशोल्ड" है। आप इसे एक बड़े मूल्य पर सेट कर सकते हैं, हालांकि 32-बिट मशीन पर आप पूर्णांक आकार पर एमएसीएस की अपेक्षाकृत छोटी हार्ड सीमा में चल सकते हैं।

स्रोत को पढ़कर

फ़ाइलों को खोलने के लिए फ़ंक्शन देखें: C-h k C-x C-f(या C-h f find-file RET)। files.elस्रोत फ़ाइल ब्राउज़ करने के लिए क्लिक करें (आपके पास लिस्प स्रोत स्थापित होना चाहिए)। कोड को न पढ़ें - यह बहुत बड़ा है - लेकिन उस फ़ाइल में संदेश के कुछ हिस्सों को खोजें। तुम्हे पता चलेगा

(defun abort-if-file-too-large (size op-type filename)
  "If file SIZE larger than `large-file-warning-threshold', allow user to abort.
OP-TYPE specifies the file operation being performed (for message to user)."
  (when (and large-file-warning-threshold size
       (> size large-file-warning-threshold)
       (not (y-or-n-p
         (format "File %s is large (%dMB), really %s? "
             (file-name-nondirectory filename)
             (/ size 1048576) op-type))))
      (error "Aborted")))

संदेश केवल तब प्रदर्शित होता है जब कुछ शर्तें पूरी होती हैं। पहली शर्त है large-file-warning-threshold(एक बूलियन के रूप में व्याख्या की गई), अर्थात large-file-warning-thresholdगैर-शून्य होना चाहिए। तो आप उस चर को सेट करके संदेश को निष्क्रिय कर सकते हैं nil। (आप इसकी पुष्टि कर सकते हैं कि यह एक ही फ़ाइल में इसकी परिभाषा को देखकर एक वैश्विक चर है - यह एक अनुकूलन योग्य आइटम है, और दस्तावेज़ीकरण बताता है कि यह कैसे उपयोग किया जाता है यदि आप लिस्प के साथ पर्याप्त परिचित नहीं हैं और केवल यह पता लगाया है कि चर कुछ में मायने रखता है मार्ग।)


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