एक नई फ़ाइल खोलना जिसका मूल निर्देशिका अभी तक मौजूद नहीं है


9

एक नई फ़ाइल खोलते समय जिसकी मूल निर्देशिका अभी तक मौजूद नहीं है, मैं या तो एक शेल विंडो, या एक एमएसीएस शेल बफर खोलता हूं, और फिर mkdirइसमें निर्देशिका। मुझे यह बोझिल लगता है। क्या कोई आसान तरीका है?

जवाबों:


16

आपको ऐसा करने की आवश्यकता नहीं है, यदि यह आपका प्रश्न है।

C-x C-f /some/new/directory/newfile.txt

Emacs एक संदेश प्रिंट करता है आपको यह बताने के लिए कि निर्देशिका /some/new/directory/अभी मौजूद नहीं है Use M-x make-directory RET RET to create the directory and its parents:।

नई फ़ाइल के लिए नए बफर में टेक्स्ट डालें newfile.txt

C-x C-s फ़ाइल को बचाने के लिए।

Emacs आपसे पूछता है कि क्या आप लापता मध्यवर्ती निर्देशिका बनाना चाहते हैं (उदाहरण के लिए, new/directory/आप y"हाँ" के लिए हिट करते हैं।

बहुत बोझिल नहीं, आई.एम.ओ. UI आपको पुष्टि के लिए पूछने की आवश्यकता है, क्योंकि आप आसानी से किसी मौजूदा निर्देशिका के नाम को गलत कर सकते हैं।


आप बस उपयोग कर सकते हैं M-x make-dir tab( emacs -Qयह सुनिश्चित करने के लिए परीक्षण किया जाता है कि काम करता है) RET RETऔर यह बिना किसी और संकेत के निर्देशिका बनाएगा।
जोनाथन लीच-पेपिन

1
@ जोनाथनक्लिप-पेपिन: हां, बिल्कुल। (यही संदेश कहता है।) लेकिन अगर आपने नई फ़ाइल बफर पहले ही खोल ली है, तो इसे सहेजने की कोशिश करें और dir निर्माण की पुष्टि करें y
ड्रू

7

के लिए idoउपयोगकर्ताओं

  • करें C-x C-f(जिसे कॉल करना चाहिए ido-find-file) और एक गैर-मौजूद पथ में प्रवेश करें ।
  • प्रेस M-m( make new dir? के लिए mnemonic ?)। मारो RET
  • उस नए फ़ाइल नाम को टाइप करना जारी रखें जिसे आप उस नए dir में बनाना चाहते हैं। मारो RET

1

जब इस स्थिति में, emacs आपको कुछ ऐसा बताना चाहिए:

use M-x make-directory RET RET to create the directory and its parents

क्या यह बोझिल है?

मैं कहूँगा, हाँ यह है।


0

यदि आप वास्तव में find-fileपहले से मौजूद नहीं होने पर मूल निर्देशिका बनाने के लिए स्वचालित रूप से बनाना चाहते हैं , तो आप अपनी init फ़ाइल में निम्न कार्य कर सकते हैं।

(defun my-find-file (orig-fun &rest args)
  (let* ((filename (car args))
         (directory (file-name-directory filename)))
    (if (not (file-directory-p directory))
        (make-directory directory t))
    (apply orig-fun args)))

(advice-add 'find-file :around 'my-find-file)

आखिरकार, Emacs को एक्स्टेंसिबल और कस्टमाइज़ करने के लिए डिज़ाइन किया गया था।

संदर्भ:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.