2010-02-18 13 views
77

तो जब मैं: e आदेश का उपयोग करके एक नई फ़ाइल बनाना चाहता हूं, तो मैं पूरा पथ निर्दिष्ट नहीं करना चाहता, बस नया फ़ाइल नाम। क्या यह किया जा सकता है?विम में काम/वर्तमान निर्देशिका कैसे सेट करें?

उत्तर

101

जैसा कि पहले ही सुझाव दिया है, तो आप autochdir उपयोग कर सकते हैं, जो आप जिस फ़ाइल को खोला निर्देशिका के लिए बदल जाएगा, अन्य विकल्प

:cd mydirectory 

जो निर्देशिका बदल जाएगा। यह एक पूर्ण या सापेक्ष पथ हो सकता है, इसलिए :cd .. एक स्तर ऊपर जाएगा। या आप :cd %:h का उपयोग कर सकते हैं जो वर्तमान फ़ाइल में मौजूद निर्देशिका में भी बदल जाएगा, लेकिन autochdir को सेट किए बिना।

:cd 

आपकी होम निर्देशिका के लिए निर्देशिका बदल जाएगा (या खिड़कियों पर, वर्तमान निर्देशिका प्रिंट)।

:cd - 

निर्देशिका को आपके द्वारा देखी गई पिछली निर्देशिका में बदल देगा।

+7

यदि आप एकाधिक विंडो का उपयोग कर रहे हैं, तो आप भी वर्तमान विंडो के लिए निर्देशिका बदलने के लिए lcd का उपयोग कर सकते हैं। – Useless

+1

@ बेकार: दिलचस्प ... मुझे नहीं लगता कि मैं कभी चाहूंगा, लेकिन मुझे लगता है कि यह स्वाद का विषय है। जानकारी के लिए धन्यवाद। – falstro

+3

मैं यह पता लगाने की कोशिश कर रहा हूं कि%: एच का मतलब क्या है, कोई मदद? – Michael

7

set autochdir को अपने .vimrc पर जोड़ने का प्रयास करें। यदि आप इसे एक बार बदलना चाहते हैं, तो :cd (या :cd! इसे बल देने के लिए) का उपयोग करें।

+1

मदद कहना है कि यह कुछ प्लग टूट जाता है (मुझे नहीं पता कि कौन सा) तो मैं जोड़ने में सावधानी बरती जाती गए मेरे .vimrc में मैपिंग: 'cnoremap सीडी। एलसीडी%: पी: एच' और 'nnoremap, सीडी: सीडी%: पी: एच : pwd ' इसके बजाय – ErichBSchulz

+0

इसके साथ netrw फ़ाइल एक्सप्लोरर में ''' 'c' key''' का भी उपयोग करता है। – pimgeek

12

यदि आप netrw फ़ाइल एक्सप्लोरर के साथ फाइल सिस्टम ब्राउज़ कर रहे हैं तो आप सी कुंजी दबाकर वर्तमान निर्देशिका सेट कर सकते हैं।

+0

'' ''' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' बदले में डीआईआर के तहत। – pimgeek

0
वर्तमान निर्देशिका स्थापित करने के लिए कुंजी दबाने के अलावा netrw: साथ

, आप भी डाल सकते हैं:

let g:netrw_keepdir= 0 

अपने .vimrc में; इसका मतलब है कि netrw ब्राउज़िंग निर्देशिका को वर्तमान निर्देशिका के समान रखेगा।

+0

ऐसा लगता है कि प्रत्येक netrw फ़ोल्डर में परिवर्तन के लिए एलसीडी है। क्या आपको पता है कि यह सेटिंग कैसे समकक्ष हो सकती है: इसके बजाय सीडी (सभी विंडोज़ के लिए डीआईआर बदलें)? धन्यवाद! – mgouin

1

मुझे नहीं पता कि विम के साथ क्या गलत है। मैं निर्देशिका चाहता हूं जहां मैं वर्तमान के रूप में vim शुरू करते हैं।

मैंने उपरोक्त autochd के बारे में टिप का पालन किया है और इसे मेरे .vimrc में noautcd पर सेट किया है।

मैं इसे अभी तक नहीं किया है, लेकिन मुझे लगता है के बारे में अब से इस तरह vim शुरू करने हूँ:

vim —cmd 'cd `pwd`' 

कि यह वर्तमान निर्देशिका से चिपक कर देगा!

1

को यह जोड़ना मेरी .vimrc स्वचालित रूप से वर्तमान फ़ाइल को विम के काम dir परिवर्तन:

autocmd BufEnter * silent! :lcd%:p:h 
+0

'सेट autochdir' यह भी करता है :-) –

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