एक उद्धृत स्ट्रिंग के मिलान (डबल या एकल) के लिए कैसे कूदें?


10

जब एक उद्धरण चिह्न पर कर्सर, युग्मन उद्धरण में कैसे कूदना है?


1
मेरे पास अब कोशिश करने के लिए Emacs नहीं है, लेकिन मुझे लगता है skip-syntax-forwardकि ऐसा होगा।
wvxvw

1
मैंने कोशिश की (skip-syntax-forward "^\"")जो अगले दोहरे उद्धरण चिह्न पर जा सकती है, लेकिन यह बच गए प्रतीक को नहीं छोड़ता है, उदाहरण के लिए, "string \" को छोड़ दिया जा सकता है? "
AhLeung

जवाबों:


9

M-C-f(या M-C-right) forward-sexpऐसा करने के लिए बाध्य होना चाहिए।

मेरा सुझाव है कि आप के M-C-बजाय उपसर्ग के साथ सभी प्रसिद्ध गति आदेशों की कोशिश करें C-

  • M-C-b(या M-C-left) देता हैbackward-sexp
  • M-C-u(या M-C-up) देता हैbackward-up-list
  • M-C-n(या M-C-down) देता हैforward-list

1
आपको backward-sexpबाउंड का भी उल्लेख करना चाहिए M-C-b
टिम्म

@ मुझे लगा कि यह स्पष्ट होगा कि यदि कोई जानता है कि M-Cबजाय उपसर्ग के साथ गति कमांड का प्रयास करता C-है M-C-f। ठीक है - मैं जवाब में इसका उल्लेख करूंगा।
तोबियास

1
ऐसा नहीं है कि लगता है forward-sexpऔर backward-sexpएक उद्धृत स्ट्रिंग के अंदर व्हाइटस्पेस पर रोक?
अहल्यांग

2

मैं हमेशा के लिए बाइंडिंग याद परेशानी है forward-sexpऔर backward-sexp, और मैं कुछ है कि और अधिक की तरह काम किया चाहता था %विम के आदेश मोड में है। कुछ बिंदु पर, मैंने इसे अपने कॉन्फिगर में जोड़ा (डॉकस्ट्रिंग कहते हैं कि परेंस लेकिन यह किसी भी तरह के ब्रैकेट या उद्धरण के लिए काम करता है), और अब मैं संतुष्ट हूं:

;;; PAREN-BOUNCE
;;;; originally ganked from <http://elfs.livejournal.com/1216037.html>
(defun genehack/paren-bounce ()
  "Bounce from one paren to the matching paren."
  (interactive)
  (let ((prev-char (char-to-string (preceding-char)))
        (next-char (char-to-string (following-char))))
    (cond ((string-match "[[{(<\"']" next-char) (forward-sexp 1))
          ((string-match "[\]})>\"']" prev-char) (backward-sexp 1))
          (t (error "%s" "Not an expression boundary.")))))

;;;; bindings
(global-set-key (kbd "C-%")        'genehack/paren-bounce)
(global-set-key (kbd "C-5")        'genehack/paren-bounce)

0

मैं ऐसे सभी उद्देश्यों के लिए स्मार्टप्रेन पैकेज का उपयोग करने का सुझाव देता हूं। संक्षिप्त परिचय यहाँ है: https://ebzzry.io/en/emacs-pairs/


1
कृपया अपनी पोस्ट में पूर्ण उत्तर दें। लिंक-केवल प्रतिक्रियाएँ टिप्पणियों के लिए ठीक हैं, लेकिन उत्तरों के लिए नहीं।
दान

sp-beginning-of-sexpऔर sp-end-of-sexpजो मैं चाहता हूं, उसके बहुत करीब हूं। मुझे उम्मीद है कि उन्हें एक फ़ंक्शन (जैसे sp-matching-sexp) में जोड़ा जा सकता है, ताकि मुझे केवल एक कीबाइंडिंग याद रखने की आवश्यकता हो। हो सकता है कि मैं एक अनिवार्य कार्य लिखने का प्रयास करूं। मुझे पता है कि अगर किसी ने पहले किया था। धन्यवाद।
अहल्यांग

ebzzry.io/en/emacs-pairs/#keys ("CMf"। sp-forward-sexp) ("CMb"। sp-backward-sexp) लेकिन आप इसे अलग सेट कर सकते हैं
विक्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.