मैंने कभी-कभी xargsइस तरह से विम का उपयोग करने की कोशिश की है :
find . -name '*.java' | xargs vim
... किस तरह का काम करता है:
जैसे ही विम लॉन्च होता है, मुझे निम्नलिखित चेतावनी फ्लैश संक्षेप में दिखाई देती है:
Vim: Warning: Input is not from a terminal- संपादन कार्य - अपेक्षित रूप से
:filesसभी.javaफ़ाइलों को सही ढंग से शामिल करता है। - मैं बचा सकता हूं और छोड़ सकता हूं।
हालाँकि, विम से बाहर निकलने के बाद, मेरा टर्मिनल बोर हो गया है:
- शेल प्रॉम्प्ट पर मैं जो भी टाइप करता हूं, वह प्रतिध्वनित नहीं होता है।
- कैरिज रिटर्न बिल्कुल दिखाई नहीं देता है, और लाइन फ़ीड केवल कभी-कभी दिखाई देते हैं।
यह तब तक चलता है जब तक मैं reset(1)टर्मिनल को फिर से बनाने के लिए एक आदेश जारी नहीं करता ।
क्या यह विम बग है, या इस तरह से टर्मिनल के साथ बातचीत करने के लिए अधिक संतोषजनक स्पष्टीकरण क्यों है? मैंने देखा है यह लिनक्स और विभिन्न यूनियनों पर संस्करण 7.3 तक (संस्करण को कोई फर्क नहीं पड़ता) विम पर होता है।
मुझे एक वर्कअराउंड के बारे में पता है, अर्थात् vim $(find . -name '*.java')। अन्य कार्यदलों का स्वागत किया जाएगा, हालांकि यह मेरा मुख्य प्रश्न नहीं है।
xargsएक डमी का उपयोग करता हैstdinजिसे विम द्वारा उपयोग नहीं किया जा सकता है और टूट जाता है बाद में सब कुछ।