मैं Emacs के भीतर से एक निर्देशिका कैसे बनाऊँ?


142

मैं वास्तव में Emacs का उपयोग करके एक नई निर्देशिका कैसे बना सकता हूं? मैं किन आदेशों का उपयोग करता हूं? (यदि संभव हो तो कृपया एक उदाहरण दें)

जवाबों:


195
  • निर्देशिका बनाने के लिए dir/to/create, टाइप करें:

    M-x make-directory RET dir/to/create RET
  • निर्देशिका बनाने के लिए dir/parent1/nodeऔर dir/parent2/nodeटाइप करें:

    M-! mkdir -p dir/parent{1,2}/node RET

    यह मानता है कि Emacs का अवर कवच bash/ zshया अन्य संगत शैल है।

  • या एक Diredमोड में

    +

    यह कोई भी अभिभावक निर्देशिका नहीं बनाता है।

    उदाहरण:

    C-x d *.py RET ; shows python source files in the CWD in `Dired` mode
    + test RET     ; create `test` directory in the CWD

    CWD वर्तमान कार्य निर्देशिका के लिए खड़ा है।

  • या गैर-मौजूदा माता-पिता निर्देशिकाओं के साथ एक नई फ़ाइल बनाएं C-x C-fऔर उपयोग करें:

    M-x make-directory RET RET

Emacs हाल की Emacs संस्करणों में एक नई फ़ाइल को सहेजते समय मूल निर्देशिका बनाने के लिए कहता है। पुराने संस्करण के लिए, देखें कि किसी फ़ाइल को सहेजते समय Emacs को इंटरमीडिएट dirs कैसे बनाते हैं?


1
हाय जेएफ सेबस्टियन, जब मैं शेल में एक निर्देशिका बनाता हूं, तो निर्देशिका विंडो कैसे अपडेट करें?
क्यों

2
@ क्यों: प्रकार g। सामान्य M-x describe-mode RET( C-h m) में वर्तमान प्रमुख मोड के प्रलेखन प्रदर्शित करने के लिए।
JFS

बहुत बहुत धन्यवाद! लेकिन आपका मतलब है कि मैं एमएक्स जी या सीएक्स जी इनपुट हूं?
क्यों

1
@ क्यों उसका मतलब एक है g। चूंकि dired-modeएडिटिंग मोड नहीं है, इसलिए यह सीधे एकल अक्षर कमांड का उपयोग करता है (जिज्ञासु के लिए: अधिकांश संपादन मोड में gबाध्य है self-insert-command)।
विक्की चिजवानी ०

42

Ctrl+ X D( C-x d) "निर्देशिका" मोड में एक निर्देशिका खोलने के लिए, फिर +एक निर्देशिका बनाने के लिए।


मुझे लगता है कि जो भी नई फ़ाइल पथ निर्देशिका बनने जा रही है, उसके अंत में '+' जाता है?
रे

जब मैं Cx Cf करता हूं और "+ dirname" प्रविष्ट करता हूं, तो emacs एक फाइल "+ dirname" बनाता है, यह एक निर्देशिका "dirname" नहीं बनाता है। मैं OSX के साथ काम कर रहा हूं, मुझे नहीं पता कि क्या समस्या है क्योंकि लिनक्स में यह काम करता है।
Zeynel

4
@Zeynel: आप पढ़ नहीं रहे हैं। C-x C-fयहाँ कोई नहीं है। आप C-x dडाइरेक्ट मोड में जाने के लिए उपयोग करते हैं, उस निर्देशिका पर जाकर जहाँ आप एक उपनिर्देशिका बनाना चाहते हैं। फिर आपने मारा +। बस इतना ही।
आकर्षित किया

8

आप एकल शेल कमांड का उपयोग करके भी चला सकते हैं M-!

आप मूल रूप से कमांड लाइन को एक स्ट्रिंग भेज रहे हैं ताकि आपको कोई अच्छा ऑटो-पूरा न मिले लेकिन यह उपयोगी है यदि आप जानते हैं कि कमांड लाइन के माध्यम से कार्रवाई कैसे करें, लेकिन Emacs के बराबर तरीका नहीं जानते हैं।

M-! mkdir /path/to/new_dir

यह काम करता है, स्क्रीन सामग्री को अपडेट करने के लिए 'जी' टाइप करें।
धुंध

5

मुझे लगता है कि मैंने आज पहले इसे कठिन तरीके से किया। मैंने किया:

M-x shell-command

फिर

mkdir -p topdir/subdir

4

आप M-x make-directoryकिसी भी बफर के अंदर उपयोग कर सकते हैं , जरूरी नहीं कि एक बिंदीदार बफर हो। यह एक लिस्प फंक्शन है जिसे आप भी इस्तेमाल कर सकते हैं।


2

Emacs में निर्देशिकाओं को स्वचालित रूप से बनाने के लिए खोज करते समय मैं इस सवाल पर आया था। मुझे जो सबसे अच्छा जवाब मिला, वह कुछ साल बाद एक और सूत्र में था । विक्टर डेरेगिन का जवाब वास्तव में वही था जिसकी मुझे तलाश थी। उस कोड को अपने .emacs में जोड़ने से Emacs आपको डायरेक्टरी बनाने के लिए प्रेरित करेगा जब आप फाइल को सेव करने के लिए जाएँगे।

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