जब मैं बाहरी कमांड को विम के अंदर चलाता हूं तो मैं रंग कैसे रख सकता हूं?


12

उदाहरण के लिए, ls --colorशेल में निष्पादित होने पर कमांड रंगीन परिणाम प्रदर्शित करता है। हालांकि, जब मैं :!ls --colorविम के अंदर कॉल करता हूं , तो सभी रंग जानकारी समाप्त हो जाती है।

विम के अंदर बाहरी कमांड को कॉल करते समय रंग रखने के लिए मुझे क्या करना चाहिए?

संपादित करें: मेरे प्रश्न को स्पष्ट करने के लिए , यह VIM के बारे में एक प्रश्न है, मैं वास्तव में यह नहीं पूछ रहा हूं कि "ls" के रंग को कैसे सक्षम किया जाए। जो मैं जानना चाहता हूं, वह आम तौर पर सभी शेल कमांड के रंगीन परिणामों के प्रदर्शन को सक्षम करने के लिए है (जब तक कि उनके रंगीन परिणाम हैं)।


2
यहाँ ठीक काम करता है।
इग्नासियो वाज़क्वेज़-अब्राम्स

2
"यह खुद वीआईएम के बारे में एक सवाल है ..."
इग्नासियो वाज़केज़-अब्राम्स

2
और विम "प्रोग्रामर द्वारा आमतौर पर उपयोग किए जाने वाले सॉफ़्टवेयर टूल" में से एक है ...

1
तो ईमेल है। जरूरी नहीं कि "मैं थंडरबर्ड कैसे हो" विषय पर यहाँ है।
इग्नासियो वाज़क्वेज़-अब्राम्स

2
विम में प्रोग्रामिंग के लिए ctags, इंडेंट और बहुत अधिक प्रत्यक्ष समर्थन है। ईमेल प्रोग्रामिंग के लिए सीधे क्या करता है?
जेन्स

जवाबों:


5

सीएलआई विम या जीयूआई विम?

आप के उत्पादन में नहीं दिखा सकते हैं :!lsया :!ls --colorविम निलंबित कर दिया है और: क्योंकि यह की एकल थ्रेड CLI विम अपने आप में या किसी अन्य बाहरी कमांड $ ls --colorअपने खोल में मार डाला गया है। उसके आसपास कोई रास्ता नहीं है। ठीक है, आप बाहरी कमांड के आउटपुट को वर्तमान बफर में रख सकते हैं लेकिन यह एक ही बात नहीं है।

जीयूआई विम में, आप केवल एक छद्म शेल प्राप्त कर सकते हैं जो किसी भी रंग को दिखाने में पूरी तरह से असमर्थ है। इसके आसपास कोई रास्ता नहीं है।

यदि आपको बाहरी कमांड से रंगीन आउटपुट की सख्त जरूरत है, तो आपको बाहरी टर्मिनल एमुलेटर को किसी चीज़ के साथ लॉन्च करना होगा :!xterm & या कॉनक शेल जैसे प्लगइन का उपयोग करना होगा ।


1
मैं tmux या स्क्रीन की तरह कुछ सुझाव देना चाहूंगा।
ल्यूपैलेट

हाँ सचमुच। लेकिन पूछने वाले ने जोर देकर कहा कि यह विम के बारे में एक सवाल है। Tmux महान है। SSH के माध्यम से एक दूरस्थ सर्वर पर लॉग इन करें और tmux / स्क्रीन के भीतर एक अच्छी तरह से कॉन्फ़िगर Vim का उपयोग करना आश्चर्यजनक रूप से सुखद अनुभव है। ज़ोन में रहने और वहाँ रहने के लिए बिल्कुल सही।
रोमेल

@romainl आप अपने भयानक जवाब के लिए धन्यवाद। मैंने gVim का उपयोग किया और मैंने गलत अनुमान लगाया कि CLI विम रंग प्रदर्शित नहीं कर सकता है ... कुछ परीक्षणों के साथ मैंने पाया कि रंग मेरे CLI विम में सही ढंग से प्रदर्शित है।
CMinus

1

आप :set shellcmdflag=-icशेल को अंतःक्रियात्मक रूप से व्यवहार कर सकते हैं , जैसे आपकी कमांड प्रॉम्प्ट।


1

आप इसमें कार्य कर सकते हैं .bashrc:

function ls { /bin/ls --color=always; }
export -f ls

टाइपो के लिए खेद है, लेकिन मैं यह नहीं पूछ रहा हूं कि "ls" कमांड के साथ रंग कैसे प्रदर्शित किया जाए - मैं उत्सुक हूं कि बाहरी कमांड को विम के साथ निष्पादित करते समय रंग को कैसे बरकरार रखा जाए। मैंने उदाहरण के तौर पर सिर्फ "ls" का इस्तेमाल किया।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.