Vim स्क्रिप्ट में, वर्तमान में परिभाषित वातावरण चर की सूची प्राप्त करने का कोई तैयार किया गया तरीका है। हालांकि, वीम कमांड लाइन पूर्णता सुविधा का फायदा उठाना संभव है।
निम्नलिखित अधूरा आदेश के लिए संभव पूर्ण करने पर विचार करें।
:echo $
यह Vim स्क्रिप्ट वाक्य रचना के अनुसार, कि देखने के लिए मुश्किल नहीं है, पूर्तियों की सभी वातावरण चर के नाम हैं। दबाने wildchar
कुंजी (टैब, डिफ़ॉल्ट रूप से) या Ctrl +डी उन सभी को प्रदर्शित करेगा।
आदेश एक स्क्रिप्ट के भीतर से प्राप्तियों की इस सूची प्राप्त करने के लिए, हम अपने इंटरैक्टिव प्रकृति पर काबू पाने की जरूरत है। एक संभावित चाल जिसे हम यहां करने के लिए मानते हैं, जो सुविधाओं के संयोजन पर निर्भर करता है। उनमें से सबसे पहले Ctrl +एक आदेश है। कमांड लाइन मोड में यह शॉर्टकट कर्सर के सामने प्रत्येक उपलब्ध समापन को सम्मिलित करता है। ये समापन वर्णमाला क्रम में सूचीबद्ध हैं और रिक्त स्थान से अलग हैं।
अगर हम विम उन प्राप्तियों सही कमांड लाइन में डाला प्रिंट बनाने के लिए, हम उन्हें आसानी से :redir
कमांड के साथ आदेश उत्पादन पुनः निर्देशित द्वारा चुरा सकता है। लेकिन सब हम उस पक्ष प्रभाव प्राप्त करने की आवश्यकता पाठ Ctrl +एक साथ डाला उद्धृत करने के लिए है: का हवाला देते हुए हमारे :echo
आदेश एक स्ट्रिंग शाब्दिक कि सिर्फ बाहर प्रिंट किया जाएगा के बाकी बनाता है!
:echo 'NAME1 NAME2 NAME3'
NAME1 NAME2 NAME3
एक कमांड लाइन इस तरह से संपादित करने के लिए, यदि कोई उपयोगकर्ता :ec
(:echo
के लिए उपनाम) टाइप कर सकते हैं तो $
, प्रेस Ctrl +एक, प्रकार '
, आदेश की शुरुआत के लिए कूद साथ Ctrl +बी, दबाने ⇾ (दाएँ तीर कुंजी) दो बार से डॉलर चिह्न पर कर्सर ले जाते हैं, किहटाना और इसके बजाय '
डालें। कुंजी प्रेस के समान अनुक्रम को :normal
कमांड का उपयोग करके गैर-इंटरैक्टिव रूप से पुन: उत्पन्न किया जा सकता है।
पहेली के इन सभी टुकड़ों को एक साथ रखकर, हम निम्नलिखित कार्य प्राप्त करते हैं।
function! Env()
redir => s
sil! exe "norm!:ec$\<c-a>'\<c-b>\<right>\<right>\<del>'\<cr>"
redir END
return split(s)
endfunction
काम करने के लिए इस दृष्टिकोण के लिए, विम +cmdline_compl
सुविधा के साथ संकलित किया जाना चाहिए।
http://vim.wikia.com/wiki/Displaying_the_current_Vim_environment तो मदद – epsilonhalbe
का हो सकता है आप env vars vim विरासत की पूरी सूची की तलाश में हैं, या आप सभी env vars के लिए देख रहे हैं Vim अपने आप (स्वयं द्वारा) बनाता है? –
जहां तक मुझे पता है, विम-केवल माध्यमों से ऐसा करना संभव नहीं है। हालांकि, यूनिक्स जैसी प्रणालियों में से कोई भी ':! Env' का उपयोग कर सकता है। –