2011-04-26 17 views
10

मैं मैक और मैकवीम 7.3 का उपयोग कर रहा हूं।विम में फ़ाइल नाम के पूर्ण पथ पर एक प्रतीकात्मक लिंक का विस्तार कैसे करें?

मेरे पास एक प्रतीकात्मक लिंक ~/कुछ/सिम्लिंक है जो वास्तविक फ़ाइल ~/some/actual_file का लिंक है।

जब मैं "vim ~/some/symlink" करता हूं तो यह विम की स्थिति रेखा के साथ फ़ाइल को लाता है और कहता है कि नाम ~/कुछ/symlink है, जो समझ में आता है।

मैं "असली" फ़ाइल ~/some/actual_file का पूरा पथ कैसे विम के भीतर प्राप्त करूं? मैं vim स्थिति रेखा ~/कुछ/symlink के बजाय ~/some/actual_file कहने के लिए चाहता हूं।

मुझे उम्मीद है कि vim function resol() काम करेगा, इसके सहायता विवरण (नीचे चिपकाया गया) दिया गया है, लेकिन संकल्प ("~/कुछ/symlink") ~/कुछ/symlink देता है, इसलिए कोई मदद नहीं है।

मुझे क्या याद आ रही है? धन्यवाद!

resolve({filename})     *resolve()* *E655* 
     On MS-Windows, when {filename} is a shortcut (a .lnk file), 
     returns the path the shortcut points to in a simplified form. 
     On Unix, repeat resolving symbolic links in all path 
     components of {filename} and return the simplified result. 
     To cope with link cycles, resolving of symbolic links is 
     stopped after 100 iterations. 
     On other systems, return the simplified {filename}. 
+0

विम का उपयोग करके आप कमांड निष्पादित कर सकते हैं और सिस्टम ("cmd") का उपयोग करके आउटपुट प्राप्त कर सकते हैं। इसके साथ आप वास्तविक पथ प्राप्त करने के लिए "readlink -m" को कॉल करने में सक्षम हो जाते हैं। – Lynch

उत्तर

22

आपकी समस्या "~" है, जो वास्तव में फ़ाइल नाम का हिस्सा नहीं है, बल्कि आपकी होम निर्देशिका के लिए एक शॉर्टेंड है। आप expand() और फिर resolve() का उपयोग कर सकते हैं। उदाहरण के लिए:

:echo resolve(expand("~/some/symlink")) 

expand() भी वातावरण चर जैसी चीजों का विस्तार होगा (जैसे: $HOME, $VIMRUNTIME)।

+0

बिल्कुल सही जवाब, धन्यवाद लॉरेंस! – svec

+3

@ एसवीसी यदि आप पर्यावरण चर का विस्तार करने के लिए 'विस्तार() 'नहीं चाहते हैं और ग्लोबिंग करते हैं, तो' fnamemodify ('~/some/symlink', ': p') का उपयोग करें। – ZyX

+0

वर्तमान फ़ाइल का पूरा पथ प्राप्त करने के लिए, '~/कुछ/symlink' के लिए'% 'विकल्प। जब आप भूल जाते हैं कि आप कौन सी फाइल संपादित कर रहे हैं, तो यह आसान है कि आप एक प्रमुख कुंजी संयोजन के साथ बाध्य हों ... (-_-) –

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