2012-11-05 6 views
31

मैं खुद को उस स्थिति में ढूंढता हूं जहां मैं उसी निर्देशिका में एक नई फ़ाइल बनाना चाहता हूं, जिसकी खुली फ़ाइल है। मैं vim में खुली फ़ाइल की निर्देशिका में एक नई फ़ाइल कैसे बना सकता हूं? साथ ही, क्या कोई ऐसी जगह है जहां मैं इन चीजों को अपने आप सीख सकता हूं? गुगलिंग मदद नहीं की। vertical split के लिएविम में खुली फ़ाइल की निर्देशिका में एक नई फाइल बनाएँ?

:vsp newfile 

vsp खड़ा है, और यह आधे में स्क्रीन विभाजन:

+0

क्या आप लिनक्स पर टेक्स्ट एडिटर के बारे में बात कर रहे हैं? – ianaz

उत्तर

80

विम के भीतर से, नई फाइलें बनाई गई हैं जैसे मौजूदा फाइलों को :edit filename या :split filename जैसे आदेशों के माध्यम से संपादित किया गया है। उन्हें डिस्क पर बने रहने के लिए, आपको (वैकल्पिक रूप से सामग्री में टाइप करना होगा) और :write के माध्यम से उन्हें जारी रखना होगा।

कमांड प्रॉम्प्ट की तरह, विम की वर्तमान निर्देशिका (:pwd सूचीबद्ध) की धारणा है। सभी फ़ाइल पथ इसके सापेक्ष हैं। आपको अपनी वर्तमान फ़ाइल के पथ को डुप्लिकेट करने की आवश्यकता नहीं है, उनके लिए कुछ अच्छे शॉर्टकट हैं: % वर्तमान फ़ाइल को संदर्भित करता है, :h इसकी निर्देशिका के लिए एक संशोधक है, फ़ाइल नाम से कम (cp। :help filename-modifiers) है। तो,

:e %:h/filename 
:w 

एक नई वर्तमान में खुले फ़ाइल के रूप में एक ही निर्देशिका में filename नामक फ़ाइल बनाते हैं, और यह लिखेगा।

वैकल्पिक रूप से, कुछ लोग विम जैसे हमेशा मौजूदा फ़ाइल की निर्देशिका में बदल जाते हैं। यह

:set autochdir 

रखते समय आपके ~/.vimrc फ़ाइल में (जो विम स्टार्टअप पर पढ़ा जाता है) द्वारा विन्यस्त किया जा सकता है। फिर, ऊपर बस

:e filename 
:w 

अंत में हो जाता है, विम है एक महान में निर्मित :help। नेविगेट करना और इसे खोजना सीखें!

+1

+1, महान जवाब। 'सीडी' का उपयोग करने के मेरे दिन खत्म हो गए हैं! – RocketDonkey

+1

'autochdir' flaky है, दुर्भाग्य से, और मैंने पाया कि मैं इस पर निर्भर नहीं हो सकता। इसके बजाय मैंने अपने vimrc में एक autocmd डाल दिया: 'autocmd BufEnter * चुप! एलसीडी%: पी: एच: जीएस// \\/' –

+0

डॉग आपके जवाब को भी वोट देना चाहते हैं लेकिन दाग के पास आवश्यक प्रतिनिधि नहीं है। अच्छी तरह लिखित स्पष्टीकरण के लिए धन्यवाद! – Dawg

3

आप कोई नई फ़ाइल बनाना चाहते हैं और यह भी अपने वर्तमान फ़ाइल के आगे विंडो में दिखाने, तो आप इस कोशिश कर सकते हैं , आपकी वर्तमान फ़ाइल दिखा रहा है, दूसरा आपकी नई फाइल दिखा रहा है (यह केवल sp के साथ काम करता है, जो एक क्षैतिज विभाजन है)।

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

:cd %:p:h 

यह आदेश सक्रिय फ़ाइल की निर्देशिका करने के लिए वर्तमान कार्यशील निर्देशिका बदलता है, जिसका अर्थ है कि vsp आदेश चलाकर (या ऊपर आदेशों के किसी भी) उस निर्देशिका में फाइल बना देगा।

2

आपको "nerdtree" प्लगइन के साथ प्रयास करना चाहिए। nerdtree विंडो में, आपने कुंजी मीटर टाइप किया है, और फ़ाइल ऑपरेशन विकल्प आपको प्रदर्शित होंगे

संबंधित मुद्दे