क्या ऊँटों में अंडरस्कोर का उपयोग करने के लिए ऊंट-आवरण नाम बदलने का कोई तरीका है?


8

उदाहरण के लिए, मैं "CamelCasedName" को "camel_cased_name" में बदलना चाहता हूं। क्या ईमेक में ऐसा करने का कोई तरीका है?


4
फॉर्म के किसी भी प्रश्न का संक्षिप्त उत्तर "क्या emacs में _____ का कोई रास्ता है?"
इज़

जवाबों:


4

इस पेज से कोड का एक छोटा सा , एक आवरण समारोह और एक अंडरस्कोर के साथ एक अंडरस्कोर की जगह, आसानी से ऐसा करने के लिए एक कमांड में बदल दिया जा सकता है। (जाँच करें कि यह आपके लिए उपयुक्त कैप का इलाज करता है):

नमूना EmacsLisp कोड un-CamelCase एक स्ट्रिंग ( http://www.friendsnippets.com/snippet/1014 से ):

(defun un-camelcase-string (s &optional sep start)
  "Convert CamelCase string S to lower case with word separator SEP.
Default for SEP is a hyphen \"-\".

If third argument START is non-nil, convert words after that
index in STRING."
  (let ((case-fold-search nil))
    (while (string-match "[A-Z]" s (or start 1))
      (setq s (replace-match (concat (or sep "-") 
                                             (downcase (match-string 0 s))) 
                                     t nil s)))
    (downcase s)))

4

Emacs में ग्लास-मोड है जो बीच में अंडरस्कोर के साथ कैमलकेस नामों को प्रदर्शित करता है। ( Http://www.emacswiki.org/emacs/GlassesMode पर भी देखें )।

यदि आप वास्तव में फ़ाइल M-x query-replace-regexpका पाठ बदलना चाहते हैं तो शायद उपयुक्त है।


3

Moritz Bunkus ने CamelCase और c_style के बीच टॉगल करने के लिए एक शानदार कार्य लिखा


पैकेज string-inflectionअब और अधिक पूर्ण हो गया है: github.com/akicho8/string-inflection (ध्यान दें कि वहाँ भी string-inflection-camelize-lowerबदलना hello_worldहै helloWorld)।
एहविंस

2

केवल प्रदर्शन उद्देश्यों के लिए, आप इसका उपयोग कर सकते हैं:

M-x glasses-mode

यदि आप एक स्क्रिप्ट चाहते हैं जो वास्तव में पाठ को रूपांतरित करता है, तो मुझे लगता है कि आपको कुछ सटीक लिखना होगा। स्टैक ओवरफ्लो पर यह सवाल बेहतर तरीके से पूछा गया है।


2

मैं इसे एक पूरी फाइल के साथ जल्दी से करने में सक्षम था, सिर्फ एक क्वेरी रिपेज xp के साथ

खोज पैटर्न है \([a-z]+\)\([A-Z]\)\([a-z]+\)और प्रतिस्थापन है \1_\,(downcase \2)\3

प्रतिस्थापन पैटर्न पैटर्न में सही का उपयोग करता है। इसके लिए 22 या बाद के Emacs की आवश्यकता होती है।

Emacs प्रलेखन शैली में:

M-C-% \([a-z]+\)\([A-Z]\)\([a-z]+\) RET \1_\,(downcase \2)\3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.