उदाहरण के लिए कहिए कि मैं एक कॉन्फिग फाइल को एडिट कर रहा हूं और मैं एक पाथ टाइप करना चाहता हूं। क्या emacs के लिए एक प्लगइन है जो आपको उस बफर में एक फ़ाइल पथ को पूरा करने देता है? मैं इस के लिए खोज की है और वहाँ एक bazillion पूरा प्लगइन्स की तरह है।
उदाहरण के लिए कहिए कि मैं एक कॉन्फिग फाइल को एडिट कर रहा हूं और मैं एक पाथ टाइप करना चाहता हूं। क्या emacs के लिए एक प्लगइन है जो आपको उस बफर में एक फ़ाइल पथ को पूरा करने देता है? मैं इस के लिए खोज की है और वहाँ एक bazillion पूरा प्लगइन्स की तरह है।
जवाबों:
हिप्पी एक्सटेंड की कोशिश करें , जो कि इसकी संभावनाओं में से एक है try-complete-file-name
। ' आप विस्तार कार्यों के क्रम और सूची को बदल सकते हैं हिप्पी का विस्तार फ़ाइल नाम के विस्तार के पक्ष में होगा।
या, आप एक कस्टम रैपर भी लिख सकते हैं जो केवल फ़ाइल नाम का विस्तार करेगा। कुछ इस तरह:
(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
"Use hippie-expand to expand the filename"
(interactive)
(let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
(call-interactively 'hippie-expand)))
मैं आमतौर पर टाइप Ctrl- X Ctrl- Fजैसे मैं एक फ़ाइल खोलने हैं, लेकिन इसके बजाय दबाने की RETमैं प्रेस Ctrl- A Ctrl- K Ctrl- Gपथ कॉपी और फिर इसे पेस्ट करने के लिए बफ़र मैं के साथ संपादन किया गया था में Ctrl- Y।
मुझे इसकी अक्सर आवश्यकता नहीं है, लेकिन अगर मैं वास्तव में एक बेहतर समाधान चाहता हूं, तो मैं निश्चित रूप से ट्रे जैक्सन के समाधान का उपयोग करूंगा hippie-expand
। मैंने सोचा कि hippie-expand
पहली बार जवाब देने के दौरान ऐसा करने का एक बेहतर तरीका कैसे हो सकता है, लेकिन मुझे नहीं पता था और इसे देखने के लिए बहुत आलसी था, इसलिए मैंने बस लिखा था कि मैं क्या करता हूं ।
वेनिला, आउट-ऑफ-द-बॉक्स
M-x comint-dynamic-complete-filename
comint मोड के बाहर काम करता है। बेशक, आप इसे (जैसे, MX को पाने के लिए कम कीस्ट्रोक्स का उपयोग करने के minibuffer की गतिशील विस्तार का उपयोग कर सकते Comi nt- डीवाई namic- ग omplete -f ilename)। या, यदि आप इसे बार-बार उपयोग कर रहे हैं, तो आप इसका उपयोग करके अपनी पसंद के एक महत्वपूर्ण अनुक्रम में बाँध सकते हैं global-set-key
।
यह भी का उपयोग कर ऐसा करना संभव है कंपनी स्वतः पूर्ण करता है, तो company-files
की सूची में हैं company-backends
बुला द्वारा (मेरी स्थापना में डिफ़ॉल्ट) या स्पष्ट रूप से company-files
।
मैंने हाल ही में टॉमोहिरो मात्सुयामा (@ m2ym) के कार्यों की खोज की और मैं इसके एमएसीएस पैकेजों की गुणवत्ता से बहुत प्रभावित हुआ हूं।
मैंने अधिकांश ऑटो-पूर्ण एक्सटेंशन के साथ संघर्ष किया है और पाया है कि इन सभी में बड़ी कमियां हैं।
टोमो के ऑटो-पूर्ण ( http://auto-complete.org/doc/manual.html ) की जाँच करें इसे स्थापित करने के लिए एक हवा हो गई है (मैं लिनक्स पर हूं) और आधुनिक तरीके से कई ऑटो-पूर्ण जरूरतों को शामिल करता हूं ।
बेशक, इन-बफर फ़ाइल नाम पूरा करने के लिए आपका अनुरोध पूरी तरह से कवर किया गया है।
अंत में, यदि आप रूबी भी करते हैं, तो सुनिश्चित करें कि उसका RSense एक्सटेंशन याद नहीं है ; फिर से, अपनी तरह का सबसे अच्छा।
find-file
उदाहरण के लिए उपयोग करते समय )। क्या आप सामग्री बफर में समान व्यवहार चाहते हैं?