के साथ विम मैं विंडोज पर जीवीआईएम का उपयोग कर रहा हूं।पावरहेल
मेरी _vimrc में मैं जोड़ दिया है:
set shell=powershell.exe
set shellcmdflag=-c
set shellpipe=>
set shellredir=>
function! Test()
echo system("dir -name")
endfunction
command! -nargs=0 Test :call Test()
अगर मैं इस समारोह को अंजाम (: टेस्ट) मैं बकवास वर्ण (गैर संख्या/अक्षर ASCII वर्ण) देखें।
यदि मैं खोल के रूप में cmd का उपयोग करता हूं, तो यह (नाम के बिना) काम करता है, इसलिए समस्या शक्तियों से आउटपुट प्राप्त करने के साथ होती है।
दिलचस्प है, इस महान काम करता है:
:!dir -name
करता है के रूप में:
:r !dir -name
अद्यतन: की पुष्टि व्यवहार से David
उल्लेख आप सेट आदेशों में ऊपर उल्लेख किया है पर अमल करते हैं _vimrc,: टेस्ट आउटपुट बकवास। हालांकि, अगर आप उन्हें _vimrc की बजाय सीधे vim में निष्पादित करते हैं, तो परीक्षण अपेक्षित कार्य करता है।
इसके अलावा, मैं इस मामले में iconv का उपयोग कर की कोशिश की है यह एक एन्कोडिंग समस्या थी:
:echo iconv(system("dir -name"), "unicode", &enc)
लेकिन यह कोई फर्क नहीं किया। हालांकि मैं गलत एन्कोडिंग प्रकार का उपयोग कर सकता था।
कोई भी यह काम कैसे जानता है?
मैंने सोचा कि यह बहुत अच्छा होगा। शक्ति/लचीलापन की कल्पना करो! –
क्या यह एक एन्कोडिंग समस्या हो सकती है? पावरहेल यूनिकोड का उपयोग करता है अगर ऐसा लगता है कि लक्ष्य एक फ़ाइल है। Powerhell पर स्विच के रूप में ASCII को एन्कोड करने का प्रयास करें। – nickd
कोई विचार है कि मैं विम के माध्यम से स्विच कैसे कर सकता हूं? –