क्या बफर में सभी हाइलाइट किए गए प्रतीकों को अनहाइज करने का एक बेहतर तरीका है?
से C-h f unhighlight-regexp
, हम प्राप्त करते हैं
(unhighlight-regexp REGEXP)
हाय-लॉक द्वारा निर्धारित REGEXP के लिए प्रत्येक मैच का हाइलाइटिंग निकालें। अंत में, REGEXP के लिए संकेत देता है, केवल हाई-लॉक इंटरैक्टिव फ़ंक्शंस द्वारा डाले गए केवल regexps को स्वीकार करता है। यदि REGEXP टी है (या यदि Cu को अंतःक्रियात्मक रूप से निर्दिष्ट किया गया था), तो सभी हाई-लॉक हाइलाइटिंग को हटा दें।
इसका मतलब है कि हम केवल कॉल करने की जरूरत unhighlight-regexp
के साथ t
अपने तर्क के रूप में सभी उच्च ताला बफर में प्रकाश डाला दूर करने के लिए।
यदि यह एक बार की बात होती, तो यह जल्दी से हो सकता है M-: (unhighlight-regexp t)
या C-u M-s h u
। लेकिन ऐसा लगता है कि यह कुछ ऐसा है जिसे आपको अक्सर करने की आवश्यकता है। उस स्थिति में, इसे किसी interactive
फ़ंक्शन में लपेटना और इसे किसी कुंजी से बाँधना बेहतर है ।
नीचे एक प्रस्तावित समाधान जहां है my/unhighlight-all-in-buffer
आवरण इंटरैक्टिव समारोह है और यह स्वाभाविक है hU
में search-map
। डिफ़ॉल्ट रूप से search-map
उपसर्ग है M-s
। तो अब, जैसा कि M-s h u
लॉन्च किया गया है unhighlight-regexp
, M-s h U
(ध्यान दें कि राजधानी यू) लॉन्च हो my/unhighlight-all-in-buffer
।
(require 'hi-lock)
(defun my/unhighlight-all-in-buffer ()
"Remove all highlights made by `hi-lock' from the current buffer.
The same result can also be be achieved by \\[universal-argument] \\[unhighlight-regexp]."
(interactive)
(unhighlight-regexp t))
(define-key search-map "hU" #'my/unhighlight-all-in-buffer)
वहाँ बिंदु पर एक प्रतीक unhighlight करने के लिए एक बेहतर तरीका है?
अच्छी बात यह है कि आपको उस बिंदु पर रखने की ज़रूरत नहीं है, जिस पर आपको अनहोनी की आवश्यकता है।
आप बस कॉल M-x unhighlight-regexp
या M-s h u
(इसकी डिफ़ॉल्ट बाइंडिंग) और हिट M-p
/ M-n
जब तक आप प्रतीक के regexp के पार आ जाते हैं, तो आपको अनहेल्इट की आवश्यकता होती है, और एंटर दबाएं।