विम (पाठ संपादक)
विम (; वीआई एमप्रोवेस्ड(उन्नत) का संकुचन) एक क्लोन है, जिसमें यूनिक्स के लिए बनाये गए के प्रोग्राम के अतिरिक्त, अन्य विशेषताएं शामिल हैं। विम के लेखक ने विम को के एक पोर्ट, के पर आधारित किया और 1991 में जनता के लिए एक संस्करण जारी किया। विम को और ग्राफिकल यूजर इंटरफेस में आत्मनिर्भर एप्लिकेशन के रूप में उपयोग करने के लिए रचा गया है। विम नि:शुल्क और ओपन-सोर्स सॉफ़्टवेयर है और एक लाइसेंस के तहत जारी किया गया है जिसमें कुछ क्लॉज़ शामिल हैं, जो उपयोगकर्ताओं को युगांडा में बच्चों को दान करने पर विचार करने के लिए प्रोत्साहित करते हैं।  विम का लाइसेंस ग्नू जनरल पब्लिक लाइसेंस के साथ संगत है, एक विशेष खंड के माध्यम से संशोधित प्रतियां "ग्नू जनरल पब्लिक लाइसेंस संस्करण 2 या किसी भी बाद के संस्करण" के तहत वितरण की अनुमति देता है।
अमीगा के लिए अपनी रिहाई के बाद से, विकास ने इसे कई अन्य प्रणालियों पर उपलब्ध कराया है। 2006 में, के पाठकों के बीच इसे सबसे लोकप्रिय संपादक के रूप में चुना गया था; 2015 में डेवलपर सर्वेक्षण ने इसे तीसरा सबसे लोकप्रिय पाठ संपादक, और 2019 में पांचवां सबसे लोकप्रिय विकास वातावरण माना।
विम के अग्रदूत, , 1987 में 'अटारी एसटी' के लिए टिम थॉम्पसन द्वारा बनाया गया था और आगे टोनी एंड्रयूज और जी.आर. (फ्रेड) वाल्टर द्वारा विकसित किया गया था।
स्टीवी पर अपने काम के आधार पर, ने 1988 में कंप्यूटर के लिए विम पर काम करना शुरू किया और 1991 में पहली बार सार्वजानिक तौर से जारी किया (विम संस्करण संख्या 1.14) ।
अपनी पहली रिलीज़ के समय, "वीआईएम" नाम "वीआई इमीटेशन(नकली)" के लिए एक संक्षिप्त था, लेकिन यह 1993 में "वीआई एमप्रोवेस्ड(उन्नत)" में बदल गया।
की तरह, विम का इंटरफ़ेस मेनू या आइकन पर आधारित नहीं है, बल्कि में दिए गए कमांड पर आधारित है; जीयूआई मोड, जीविम, आमतौर पर उपयोग किए जाने वाले कमांड के लिए मेनू और टूलबार जोड़ता है, लेकिन पूर्ण कार्यक्षमता अभी भी अपने मोड के माध्यम से व्यक्त की जाती है। वीआई (और विस्तार द्वारा विम) एक टाइपिस्ट को अपनी उंगलियों को कीबोर्ड की पर रखने की अनुमति देता है, जो एक टच टाइपिस्ट के लिए फायदेमंद हो सकता है। .
विम में नौसिखियों के लिए एक अंतर्निहित ट्यूटोरियल है जिसे विमट्यूटोर कहा जाता है। यह आमतौर पर विम के साथ इंस्टॉल होता है, लेकिन यह एक अलग निष्पादन योग्य के रूप में मौजूद है और इसे शेल कमांड के साथ चलाया जा सकता है। विम उपयोगकर्ताओं के लिए एक उपयोगकर्ता पुस्तिका भी है जो विम की विशेषताओं और अक्सर पूछे जाने वाले प्रश्न का विवरण है। यह उपयोगकर्ता पुस्तिका विम के भीतर से पढ़ा जा सकता है, या ऑनलाइन पाया जा सकता है।
विम में एक अंतर्निहित मदद सुविधा (उपयोग: codice_1 कमांड) है जो उपयोगकर्ताओं को कमांड और सुविधाओं के माध्यम से खोज और नेविगेट करने की अनुमति देती है।
विम में 12 अलग-अलग संपादन मोड हैं, जिनमें से 6 बाकी 6 मूल मोड के वेरिएंट हैं। मूल मोड हैं:
विम अत्यधिक अनुकूलन योग्य और विस्तारणीय है, जो इसे उन उपयोगकर्ताओं के लिए एक आकर्षक उपकरण बनाता है जो अपने पाठ संपादन वातावरण पर नियंत्रण और लचीलेपन की बड़ी मात्रा की मांग करते हैं। कीबोर्ड की कार्यक्षमता बढ़ाने के लिए डिज़ाइन किए गए विभिन्न प्रकारों से पाठ इनपुट की सुविधा है। उपयोगकर्ता "की मैपिंग" के साथ जटिल कमांड निष्पादित कर सकते हैं, जिसे अनुकूलित और विस्तारित किया जा सकता है। "रिकॉर्डिंग" सुविधा मैक्रोज़ के निर्माण के लिए कीस्ट्रोक्स के अनुक्रमों को स्वचालित करने और आंतरिक या उपयोगकर्ता-परिभाषित फ़ंक्शन और मैपिंग को कॉल करने की अनुमति देती है। संक्षिप्तीकरण, मैक्रोज़ और कुंजी मैपिंग के समान, पाठ के छोटे तार के विस्तार की सुविधा प्रदान करते हैं और गलतियों को सुधारने के लिए भी इसका उपयोग किया जा सकता है। विम एक सरल पाठ संपादन समाधान की तलाश करने वाले उपयोगकर्ताओं के लिए "आसान" मोड भी पेश करता है।
कई प्लगइन्स उपलब्ध हैं जो विम में नई कार्यक्षमता को बढ़ाते हैं या जोड़ते हैं, जैसे लिंटर, गिट के साथ एकीकरण, सीएसएस से रंग दिखाना। इन जटिल स्क्रिप्ट्स को आमतौर पर विम की आंतरिक स्क्रिप्टिंग भाषा, विमस्क्रिप्ट (जिसे 'विम एल' के रूप में भी जाना जाता है) में लिखा जाता है, लेकिन अन्य भाषाओं में भी लिखा जा सकता है।
जटिल स्क्रिप्ट और अनुकूलन को एक साथ जोड़ने वाली परियोजनाएं हैं और इसका उद्देश्य विम को एक विशिष्ट कार्य के लिए टूल में बदलना या उसके व्यवहार में एक प्रमुख स्वाद जोड़ना है। उदाहरणों में शामिल है, जो विम को एक क्लिक-टू-टाइप संपादक या 'विम आउटलाइनर' की तरह व्यवहार करता है, जो यूनिक्स जैसी प्रणालियों के उपयोगकर्ताओं के लिए एक आरामदायक प्रदान करता है।
विम स्क्रिप्ट (जिसे 'विम्स्क्रिप्ट' या 'विम एल' भी कहा जाता है) स्क्रिप्टिंग भाषा है जिसे विम में बनाया गया है। मूल संपादक की पूर्व संपादक भाषा के आधार पर, विम के शुरुआती संस्करणों ने नियंत्रण प्रवाह और फ़ंक्शन परिभाषाओं के लिए कमांड जोड़े। संस्करण 7 के बाद से, विम स्क्रिप्ट और जैसे और उन्नत डेटा प्रकारों का समर्थन करती है और (सरल) ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग। बिल्ट-इन फ़ंक्शंस जैसे कि codice_4 और codice_5 के मूल रूप की अनुमति देते हैं, और विम स्क्रिप्ट में संस्करण 8 के बाद से लैम्ब्डा है। विम स्क्रिप्ट ज्यादातर एक अनिवार्य प्रोग्रामिंग शैली में लिखी गई है।
विम मैक्रोज़ में "सामान्य-मोड" कमांड का एक अनुक्रम हो सकता है, लेकिन अधिक जटिल कार्यों के लिए विम स्क्रिप्ट में पूर्व कमांड या फ़ंक्शन भी लिख सकते हैं। कोर विम कार्यक्षमता के लगभग सभी एक्सटेंशन (जिसे 'प्लग-इन' या अधिक सामान्यतः स्क्रिप्ट कहा जाता है) विम स्क्रिप्ट में लिखे गए हैं, लेकिन प्लगइन्स पर्ल, पाइथन, लुआ, , या जैसी अन्य भाषाओं का भी उपयोग कर सकते हैं। इन प्लग-इन्स को मैन्युअल रूप से या प्लग-इन मैनेजर जैसे कि वंडल, पैथोजन या विम-प्लग के माध्यम से इंस्टॉल किया जा सकता है।
विम स्क्रिप्ट फ़ाइलों को सादे पाठ के रूप में संग्रहीत किया जाता है, अन्य कोड के समान, और फ़ाइल नाम एक्सटेंशन आमतौर पर है codice_6। इसका एक उल्लेखनीय अपवाद विम फ़ाइल का कॉन्फिग है, codice_7।
" यह विम स्क्रिप्ट में एक सरल प्रोग्राम है echo "Hello, world!"
" यह विम स्क्रिप्ट में एक सरल लूप है let i = 1 while i < 5 endwhile unlet i
जबकि "वीआई" मूल रूप से केवल यूनिक्स ऑपरेटिंग सिस्टम पर उपलब्ध था, Vim को (प्रारंभिक लक्ष्य प्लेटफॉर्म), , , डॉस, विंडोज़ एन.टी., , , , , , , लिनक्स, , से शुरू होने वाले कई प्रचालन तंत्र में पोर्ट किया गया है। इसके अलावा, विम को की हर कॉपी के साथ शिप किया जाता है।
विम के स्वतंत्र पोर्ट एंड्रॉइड और आईओएस दोनों के लिए उपलब्ध हैं।