रिक्त स्थान सहित बफर में वर्णों की गणना कैसे करें?


12

मुझे यह देखने की जरूरत है, कि मेरे टाइप में कितने अक्षर हैं। मुझे Emacs Wiki के ये पृष्ठ मिले: शब्द गणना , और मुझे जो चाहिए, उसके बहुत करीब से एक समाधान है: मैंने इस पृष्ठ से दूसरे समाधान का उपयोग किया (मोड-लाइन में शब्दों की संख्या दिखाएं), क्योंकि यह राशि दिखाता है अक्षर भी।

लेकिन यह रिक्त स्थान नहीं गिनता है। क्या कोई समाधान है, जो मोड-लाइन में रिक्त स्थान सहित वर्णों की मात्रा दिखाएगा? आदर्श रूप से, वर्णों की लक्ष्य राशि निर्धारित करने के साथ (लेकिन यह आवश्यक नहीं है)।

जवाबों:


4

mode-line-formatचर पहले से ही है कि क्षमता में निर्मित है, निम्नलिखित स्निपेट अपने मोड लाइन के अंत के पास है कि जोड़ना चाहिए।

(add-to-list 'global-mode-string '(" %i"))

डॉक्टर से:

% i - बफर का आकार प्रिंट करें।

तकनीकी रूप से, यह बाइट्स में आकार है, इसलिए यह आपके द्वारा उपयोग किए गए एन्कोडिंग के आधार पर चर की संख्या से पूरी तरह से मेल नहीं खा सकता है।

तुम भी, कोशिश कर सकते हैं M-x size-indication-mode


यदि बाइट्स की संख्या आपको संतुष्ट नहीं करती है, तो आप निम्न स्निपेट का उपयोग कर सकते हैं, जो बहुत बड़े बफ़र्स पर टाइप करने के कारण अंतराल हो सकता है या नहीं भी हो सकता है।

(add-to-list 'global-mode-string
             '(:eval (format " %s"
                       (let ((tab-width 1))
                         (string-width (buffer-string))))))


4

या आप बस कर सकते थे M->C-x =। संबंधित जानकारी मिनीबफ़र में दिखाई देगी। (प्रयुक्त कमांड: end-of-bufferऔर what-cursor-position)।


3

अन्य उत्तरों ने आपको उपयोगी जानकारी दी है, मुझे लगता है। आप मोड-लाइन में जो भी चाहें डाल सकते हैं, और शुरू करने के लिए एक जगह है size-indication-modeऔर चर चर mode-line-position

अन्य उत्तर आम तौर पर आपको बफर की शुरुआत के सापेक्ष वर्तमान बफर स्थिति बताते हैं (या इसकी वर्तमान प्रतिबंध की शुरुआत, अगर यह संकुचित है)।

कभी-कभी आप किसी अन्य पद के सापेक्ष स्थिति चाहते हो सकते हैं। उसके लिए, लाइब्रेरी modeline-posn.elमदद कर सकती है ( मोड लाइन स्थिति देखें )।

जब क्षेत्र सक्रिय नहीं होता है, तो यह आपको सामान्य जानकारी (अच्छी तरह से, थोड़ा बेहतर) दिखाता है। लेकिन जब यह सक्रिय होता है तो यह आपको (मोड-लाइन में) चयन और क्षेत्र में वर्णों और लाइनों की संख्या दिखाता है । तो वर्तमान स्थिति को किसी अन्य स्थिति के सापेक्ष देखने के लिए, बस C-SPCकिसी एक स्थान पर चिह्न सेट करने के लिए उपयोग करें। C-x C-xक्षेत्र को सक्रिय करता है, जो आपको मोड-लाइन में वर्णों (और लाइनों) में अपना आकार दिखाता है।


2

जब तक मैं गलत समझ रहा हूँ, आप point-maxबफर में वर्णों की संख्या प्राप्त करने के लिए उपयोग कर सकते हैं :

(defun count-chars ()
  (interactive)
  (save-restriction
    (widen)
    (message "%s characters" (1- (point-max)))))

1
यह काम करता है, लेकिन यह बिल्कुल वैसा नहीं है जैसा मैं चाहता हूं: मैं अपनी आंखों के सामने हमेशा चरित्र की संख्या रखना चाहता हूं, जबकि मैं टाइप कर रहा हूं, इसे "मांग पर" नहीं मिल रहा है।
अगल्वा

@ ऑगलावरा इसे अपने मोड-लाइन में जोड़ें।
जॉर्डन बियोन्डो

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