2011-11-24 6 views
9

क्या C-s के बाद खोज क्वेरी में बिंदु के बाद शब्द डालने के लिए कोई एनालॉग है, लेकिन प्रतिस्थापन स्ट्रिंग (और regexp को प्रतिस्थापित करें) प्रश्नों के लिए?Emacs: स्ट्रिंग क्वेरी को प्रतिस्थापित करने के लिए बिंदु पर शब्द डालें

मैं भी iSearch में बिंदु के आसपास पूरे शब्द डालने C-x का सच्चा Chua के संशोधन का आनंद:

http://sachachua.com/blog/2008/07/emacs-keyboard-shortcuts-for-navigating-code/

यह भी कुछ मामलों में वास्तव में उपयोगी हो सकता है अगर उस में इस्तेमाल किया जा सकता स्ट्रिंग की जगह।

मैं किसी भी सुझाव के लिए बहुत आभारी हूं! धन्यवाद!

उत्तर

7

यह करना होगा, हालांकि यह नहीं के रूप में कल्पना रूप Cw iSearch में है, क्योंकि आप उस कुंजी मार चयन का विस्तार करने नहीं रख सकते हैं:

(defun my-minibuffer-insert-word-at-point() 
    "Get word at point in original buffer and insert it to minibuffer." 
    (interactive) 
    (let (word beg) 
    (with-current-buffer (window-buffer (minibuffer-selected-window)) 
     (save-excursion 
     (skip-syntax-backward "w_") 
     (setq beg (point)) 
     (skip-syntax-forward "w_") 
     (setq word (buffer-substring-no-properties beg (point))))) 
    (when word 
     (insert word)))) 

(defun my-minibuffer-setup-hook() 
    (local-set-key (kbd "C-w") 'my-minibuffer-insert-word-at-point)) 

(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook) 

संपादित करें: ध्यान दें कि इस मानक minibuffer में है, इसलिए आप इसे कहीं भी इसका इस्तेमाल आप ग्रेप में उदाहरण के लिए एक minibuffer शीघ्र है, हो सकता है, आदि

+0

त्वरित उत्तर के लिए धन्यवाद! यह निश्चित रूप से काफी करीब है और अधिक सामान्य होने का लाभ है! धन्यवाद! – user673592

2

दो जवाब का उपयोग कर सकते हैं:

  1. Replace+ जब आप प्रतिस्थापन आदेशों का आह्वान करते हैं तो डिफ़ॉल्ट मान के रूप में डिफ़ॉल्ट रूप से टेक्स्ट को टेक्स्ट पर उठाता है।

  2. अधिक आम तौर पर, Icicles स्कॉटफ्राज़र कोड (उपरोक्त) के समान कुछ करता है, लेकिन यह अधिक सामान्य है। किसी भी समय, किसी भी मिनीबफर में, आप एम-हिट कर सकते हैं। (डिफ़ॉल्ट रूप से) बिंदु पर पाठ ("चीजें") लेने के लिए और इसे मिनीबफर में डालें। आप इस, दोहरा सकते हैं या तो (क) ही तरह का लगातार बातें (जैसे शब्द) लेने, उन्हें Cw की तरह जमा या iSearch के लिए करता है, (ख) विकल्प लेने, अलग बातें बिंदु। अधिक स्पष्टीकरण here

1

मैं यह पहले से ही Emacs में मौजूद है लगता है - तुम सिर्फ M-S-% के साथ बदलें और फिर M-n प्रेस (जबकि minibuffer खाली है), इस कर्सर के तहत शब्द में भर जाता है, वहाँ और अधिक उपयोगी चीजें आप के साथ कर सकते हैं शुरू यह, http://endlessparentheses.com/predicting-the-future-with-the-m-n-key.html?source=rss#disqus_thread देखें।

संबंधित मुद्दे

 संबंधित मुद्दे