2011-02-26 16 views
5

मैं संपादन करते समय फ़ाइल नाम/पथ इनलाइन डालने का एक तरीका ढूंढ रहा हूं। एक इनलाइन ido-style फ़ाइल चयन की तरह कुछ सही होगा। क्या वहां कुछ ऐसा है?जगह फ़ाइल नाम/पथ सम्मिलन में Emacs

+0

मैं कुछ है कि काम करता है लिखा था, लेकिन यह बहुत मध्ययुगीन और सरल है: http://pastebin.com/tVHvM8st अभी भी एक बेहतर समाधान में रुचि रखते। – re5et

+0

क्या आप * वर्तमान * फ़ाइल के पूर्ण पथ नाम, या किसी को पूरा करने के साथ, सम्मिलित करना चाहते हैं? पेस्ट के रूप में, –

+0

पूरा होने के साथ। कुछ छोटे फैनसीयर अच्छा होगा, शायद मिनी-बफर – re5et

उत्तर

4

मैं हमेशा इस बात के लिए comint-dynamic-complete-filename का उपयोग करें। यह डिफ़ॉल्ट रूप से लोड नहीं होता प्रतीत होता है, लेकिन comint-mode द्वारा प्रदान किया जाता है। इस प्रकार आप

(autoload 'comint-dynamic-complete-filename "comint" nil t) 
(global-set-key "\M-]" 'comint-dynamic-complete-filename) 

जैसे ~/.emacs या जैसे कुछ डाल सकते हैं। पाठ्यक्रम की अपनी खुद की पसंदीदा कुंजीबाइंडिंग का प्रयोग करें।

1

ठीक है, अगर आप सिर्फ बिंदु पर वर्तमान फ़ाइल नाम सम्मिलित करना चाहते हैं, तो

(insert (expand-file-name (buffer-file-name))) 

यह करना चाहिए।

यदि आप किसी भी पथ पर फ़ाइल ढूंढने में सक्षम होना चाहते हैं, तो आप find-file-noselect में में files.el में कुछ कोड दोहराना चाहेंगे।

या तो मामले में, अगर आप इस एक एक समारोह बाध्य करने के लिए चाहते हैं, तो आप शायद चाहता हूँ

(defun insert-file-name-at-point() 
    (interactive) ....) 
+0

मैं emacs 24 का उपयोग कर रहा हूं, और 1768 पर खोज-फ़ाइल-नाकलेक्ट शुरू होता है, आप इसका कितना उल्लेख कर रहे हैं? – re5et

1
(defun insert-file-name (file &optional relativep) 
    "Read file name and insert it at point. 
With a prefix argument, insert only the non-directory part." 
    (interactive "fFile: \nP") 
    (when relativep (setq file (file-name-nondirectory file))) 
    (insert file)) 
संबंधित मुद्दे