कैसे मैं emacs में फ़ोल्डर आकार प्रदर्शित कर सकते हैं?


4

निर्देशिका लिस्टिंग देखने के लिए मेरे पास + dired और dire + सेटअप है और इसे फ़ाइल / मूविंग / फाइल कॉपी करने के लिए मेरे फाइल-मैनेजर के रूप में उपयोग करते हैं। वर्तमान में किसी भी निर्देशिका में सभी उपनिर्देशिकाओं के आकार के रूप में बिंदीदार सूची '0'।

मैं फ़ोल्डर आकार की गणना और प्रदर्शन करना चाहता हूं। मैं इसे एक कीस्ट्रोक / माउस-क्लिक के लिए बाध्य करना चाहूंगा क्योंकि मैं यह नहीं चाहता कि मैं हर बफ़र में प्रत्येक फ़ोल्डर पर ऐसा करूं।

अब तक, मेरे पास "ओ में खोजकर्ता" (w32-shell-execute in windows और gnome-open in gnome) है जो "O" से बंधा हुआ है, जहां से मैं उपनिर्देशिका आकार की गणना करने के लिए Alt + Enter का उपयोग करता हूं।

जवाबों:


3

यह Emacs विकी पेज चयनित फ़ाइलों और निर्देशिकाओं के आकार की गणना करने के लिए निम्नलिखित स्निपेट का उपयोग करने का सुझाव देता है:

 (defun dired-get-size ()
  (interactive)
  (let ((files (dired-get-marked-files)))
    (with-temp-buffer
      (apply 'call-process "/usr/bin/du" nil t nil "-sch" files)
      (message "Size of all marked files: %s"
               (progn 
                 (re-search-backward "\\(^[0-9.,]+[A-Za-z]+\\).*total$")
                  (match-string 1))))))

 (define-key dired-mode-map (kbd "?") 'dired-get-size)

अगर मैं आपको सही तरीके से समझता हूं, तो आप सीधे बफ़र किए गए मान को अपडेट करना चाहेंगे। मैं डायर के इंटर्नल से काफी परिचित नहीं हूं, लेकिन मुझे लगता है कि यह उतना कठिन नहीं होना चाहिए।


मैं ठीक हूँ अगर dired बफर को अपडेट करना संभव नहीं है। मैं emacs wiki ( emacswiki.org/emacs/Sunrise_Commander - पेज के बहुत अंत तक कूदता हूं) में भी पढ़ता हूं कि ऐसा करना मुश्किल है। हालाँकि, मैं एक समाधान चाहूँगा जो लिनक्स के साथ-साथ विंडोज में भी काम करेगा। वास्तव में, मैंने खोजकर्ता से बचने के लिए मुख्य रूप से विंडोज में तारांकित किया। क्या खिड़कियों के लिए 'डु' है?
कौशिक

मुझे पता चला कि मैं 'डु' को विंडोज़ में काम कर सकता हूं (साइबरविन या गिट - जो मेरे लिए काम करता है)। समाधान के लिए धन्यवाद! यह अच्छा होगा अगर मैं किसी तरह से यह जानकारी प्राप्त कर सकता हूँ कि वह
बिंदास

3

यदि आपका Emacs संस्करण> = 24.4 है, तो आप dired-duलाइब्रेरी आज़मा सकते हैं । यह ELPA रिपॉजिटरी से उपलब्ध है।

एक बार जब आप यह लीब स्थापित कर लेते हैं: यदि आपका वर्तमान बफर डिडर्ड मोड में है, तो आप यह कर सकते हैं:

C-x M-r

यह 'dired-du-mode' को टॉगल करता है और डाइरेक्टेड बफ़र में 'जगह' में 'डाइरेक्टर्स का रिसर्क्टिव साइज़' दिखाता है। यदि आप एक नए Dired बफर पर जाते हैं, तो यह पुनरावर्ती बफ़र्स को भी दिखाएगा, जब तक कि आप मोड बंद नहीं करते।

एक और टिप:

C-x C-h

आकार प्रारूप को दर्शाता है। 3 प्रारूप हैं:

  1. 'Ls' कमांड से डिफॉल्ट करें।

  2. मानव पठनीय प्रारूप।

  3. हजारों अल्पविराम विभाजक के साथ संख्यात्मक प्रारूप।

आप अपने आकार फॉर्मर विकल्प को लगातार बनाने के लिए विकल्प 'dired-du-size-format' को कस्टमाइज़ कर सकते हैं।

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