मैं emacs में फ़ाइल पथ कैसे पूरा करूं?


14

उदाहरण के लिए कहिए कि मैं एक कॉन्फिग फाइल को एडिट कर रहा हूं और मैं एक पाथ टाइप करना चाहता हूं। क्या emacs के लिए एक प्लगइन है जो आपको उस बफर में एक फ़ाइल पथ को पूरा करने देता है? मैं इस के लिए खोज की है और वहाँ एक bazillion पूरा प्लगइन्स की तरह है।


1
मैं स्पष्ट नहीं कर रहा हूँ कि आप यहाँ क्या पूछ रहे हैं। आधुनिक एमकेन में मिनी-बफर में पथ पूरा होता है ( find-fileउदाहरण के लिए उपयोग करते समय )। क्या आप सामग्री बफर में समान व्यवहार चाहते हैं?
dmckee --- पूर्व-संचालक बिल्ली का बच्चा

1
@ डमी - हाँ, यह वास्तव में वही है जो मैं देख रहा हूँ।
जेसन बेकर

@dmckee क्या यह OS विशिष्ट है? उबंटू में फाइंड फाइल में मेरा फाइल नेम पूरा था लेकिन OSX में कोई पूरा नहीं हुआ है। उदाहरण के लिए, मेरे पास रूट में "संदर्भ" नामक एक फाइल है और मैं मिनी बफर में हूं: "फाइल ढूंढें: ~ /" और मैं "रेफरी" दर्ज करता हूं और मैं पूरा होने की उम्मीद करता हूं लेकिन कुछ भी नहीं होता है। क्या मुझे कुछ स्थापित करने की आवश्यकता है?
ज़ीनल

मैक ओएस में @Zeynel मेरे लिए ठीक काम करता है। या तो Apple स्थापित संस्करण या होमब्रे संस्करण के साथ। मेरे पुराने मशीन पर फिंक संस्करण के साथ भी काम किया।
dmckee --- पूर्व-मध्यस्थ ने बिल्ली का बच्चा

@ मार्की स्ट्रेंज। शायद मैं एक नया सवाल पूछूं। धन्यवाद।
Zeynel

जवाबों:


11

हिप्पी एक्सटेंड की कोशिश करें , जो कि इसकी संभावनाओं में से एक है 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)))

15

मैं आमतौर पर टाइप Ctrl- X Ctrl- Fजैसे मैं एक फ़ाइल खोलने हैं, लेकिन इसके बजाय दबाने की RETमैं प्रेस Ctrl- A Ctrl- K Ctrl- Gपथ कॉपी और फिर इसे पेस्ट करने के लिए बफ़र मैं के साथ संपादन किया गया था में Ctrl- Y

मुझे इसकी अक्सर आवश्यकता नहीं है, लेकिन अगर मैं वास्तव में एक बेहतर समाधान चाहता हूं, तो मैं निश्चित रूप से ट्रे जैक्सन के समाधान का उपयोग करूंगा hippie-expand। मैंने सोचा कि hippie-expandपहली बार जवाब देने के दौरान ऐसा करने का एक बेहतर तरीका कैसे हो सकता है, लेकिन मुझे नहीं पता था और इसे देखने के लिए बहुत आलसी था, इसलिए मैंने बस लिखा था कि मैं क्या करता हूं


क्लंकी और अयोग्य, लेकिन काम कर रहे। मुझे समय-समय पर ऐसा करने के लिए खुद को स्वीकार करना पड़ता है। मैं अभी भी एक neater समाधान में दिलचस्पी रहा हूँ, हालांकि ...
dmckee --- पूर्व-मध्यस्थ बिल्ली का बच्चा

वास्तव में। यह वास्तव में हालांकि इसे मैन्युअल रूप से टाइप करने की तुलना में बहुत कम काम नहीं लगता है।
जेसन बेकर

1
@ जेसन बेकर: यह इस बात पर निर्भर करता है कि क्या आप सटीक फ़ाइल नाम जानते हैं या यदि आपको इसके लिए थोड़ा सा पता लगाने की आवश्यकता है।
टेडी

6

वेनिला, आउट-ऑफ-द-बॉक्स

M-x comint-dynamic-complete-filename

comint मोड के बाहर काम करता है। बेशक, आप इसे (जैसे, MX को पाने के लिए कम कीस्ट्रोक्स का उपयोग करने के minibuffer की गतिशील विस्तार का उपयोग कर सकते Comi nt- डीवाई namic- omplete -f ilename)। या, यदि आप इसे बार-बार उपयोग कर रहे हैं, तो आप इसका उपयोग करके अपनी पसंद के एक महत्वपूर्ण अनुक्रम में बाँध सकते हैं global-set-key


2

यह भी का उपयोग कर ऐसा करना संभव है कंपनी स्वतः पूर्ण करता है, तो company-filesकी सूची में हैं company-backendsबुला द्वारा (मेरी स्थापना में डिफ़ॉल्ट) या स्पष्ट रूप से company-files


0

मैंने हाल ही में टॉमोहिरो मात्सुयामा (@ m2ym) के कार्यों की खोज की और मैं इसके एमएसीएस पैकेजों की गुणवत्ता से बहुत प्रभावित हुआ हूं।

मैंने अधिकांश ऑटो-पूर्ण एक्सटेंशन के साथ संघर्ष किया है और पाया है कि इन सभी में बड़ी कमियां हैं।

टोमो के ऑटो-पूर्ण ( http://auto-complete.org/doc/manual.html ) की जाँच करें इसे स्थापित करने के लिए एक हवा हो गई है (मैं लिनक्स पर हूं) और आधुनिक तरीके से कई ऑटो-पूर्ण जरूरतों को शामिल करता हूं ।

बेशक, इन-बफर फ़ाइल नाम पूरा करने के लिए आपका अनुरोध पूरी तरह से कवर किया गया है।

अंत में, यदि आप रूबी भी करते हैं, तो सुनिश्चित करें कि उसका RSense एक्सटेंशन याद नहीं है ; फिर से, अपनी तरह का सबसे अच्छा।


लिंक टूट गया है
xuhdev

और यहाँ नया लिंक है: github.com/auto-complete/auto-complete/blob/master/doc/…
Krab
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.