में पथ के बिना फ़ाइल नाम सम्मिलित करने के लिए मैं जानता था कि डालने मोड में मैं पथ CTRL-आर उपयोग करने के साथ filiename सम्मिलित कर सकते हैं - %।कैसे vim
लेकिन मैं पथ भाग के बिना केवल फ़ाइल नाम डालना चाहता हूं। क्या इसके लिए एक समान आदेश है?
में पथ के बिना फ़ाइल नाम सम्मिलित करने के लिए मैं जानता था कि डालने मोड में मैं पथ CTRL-आर उपयोग करने के साथ filiename सम्मिलित कर सकते हैं - %।कैसे vim
लेकिन मैं पथ भाग के बिना केवल फ़ाइल नाम डालना चाहता हूं। क्या इसके लिए एक समान आदेश है?
उपयोग कर सकते हैं आप उपयोग कर सकते हैं
<C-r>=expand("%:t")<CR>
देखें :help filename-modifiers
।
संपादित
<C-r>
एक रजिस्टर की सामग्री सम्मिलित कर डालने मोड में प्रयोग किया जाता है। "%
वह रजिस्टर है जिसमें वर्तमान फ़ाइल का नाम शामिल है।
"=
, अभिव्यक्ति रजिस्टर है यह अभिव्यक्ति है कि =
के बाद आता है का परिणाम होते हैं:
<C-r>=2+27+6<CR> --> 35
<C-r>=expand("%:t")<CR> --> file.txt
क्या यह एक मानचित्र कमांड है? क्या यह अन्य सी-आर आदेशों को प्रभावित करता है उदाहरण के लिए।
नहीं, पथ के बिना फ़ाइल नाम डालने के लिए आपको डालने मोड में टाइप करना होगा: 'Ctrl + r', फिर '=', फिर' विस्तृत करें ("%: t") ', फिर' एंटर '। क्षमा करें, इसके लिए कोई शॉर्टकट नहीं है। यदि आप एक कस्टम मैपिंग चाहते हैं, तो 'inoremap
डालने मोड में, आप
CTRL-R =expand('%:t')
क्या यह एक मानचित्र कमांड है? क्या यह अन्य सी-आर आदेशों को प्रभावित करता है उदाहरण के लिए।
@schurik - रोमैनल ने आपकी टिप्पणी का जवाब देने का पूरी तरह से काम किया है। अगर कुछ अभी भी अस्पष्ट है, तो पूछने के लिए स्वतंत्र महसूस करें। –
हममम, मुझे 'Ctrl-R% के लिए' पहले से ही basename देता है। शायद यह कुछ विन्यास पैरामीटर पर निर्भर करता है? यूनिक्स एसई पर संभव: http://unix.stackexchange.com/questions/57555/vim-insert-current-filename-into-the-contents –
आप ': r का उपयोग कर सकते हैं! echo% '[इस उत्तर के लिए पूर्ण क्रेडिट] (http://unix.stackexchange.com/a/57557/164925) –