विकिपीडिया से, मुक्त विश्वकोश
विम (/vɪm/;[1] वीआई एमप्रोवेस्ड(उन्नत) का संकुचन) एक क्लोन है, जिसमें यूनिक्स के लिए बनाये गए बिल जॉय के वीआई पाठ संपादक प्रोग्राम के अतिरिक्त, अन्य विशेषताएं शामिल हैं। विम के लेखक ब्रैम मूलेनार ने विम को स्टीवी संपादक के एक पोर्ट, अमीगा[2] के स्रोत कोड पर आधारित किया और 1991 में जनता के लिए एक संस्करण जारी किया। विम को कमांड-लाइन इंटरफ़ेस और ग्राफिकल यूजर इंटरफेस में आत्मनिर्भर एप्लिकेशन के रूप में उपयोग करने के लिए रचा गया है। विम नि:शुल्क और ओपन-सोर्स सॉफ़्टवेयर है और एक लाइसेंस के तहत जारी किया गया है जिसमें कुछ चैरिटीवेयर क्लॉज़ शामिल हैं, जो उपयोगकर्ताओं को युगांडा में बच्चों को दान करने पर विचार करने के लिए प्रोत्साहित करते हैं।[3] विम का लाइसेंस ग्नू जनरल पब्लिक लाइसेंस के साथ संगत है, एक विशेष खंड के माध्यम से संशोधित प्रतियां "ग्नू जनरल पब्लिक लाइसेंस संस्करण 2 या किसी भी बाद के संस्करण" के तहत वितरण की अनुमति देता है।
यह लेख किसी और भाषा में लिखे लेख का खराब अनुवाद है। यह किसी ऐसे व्यक्ति द्वारा लिखा गया है जिसे हिन्दी अथवा स्रोत भाषा की सीमित जानकारी है। कृपया इस अनुवाद को सुधारें। मूल लेख "अन्य भाषाओं की सूची" में "{{{1}}}" में पाया जा सकता है। |
रचनाकार | ब्रैम मुलेनार |
---|---|
पहला संस्करण | 2 नवम्बर 1991 |
प्रोग्रामिंग भाषा | सी, विम स्क्रिप्ट |
ऑपरेटिंग सिस्टम | यूनिक्स, लिनक्स, विंडोज़ एन.टी., डॉस, macOS, आईओएस, एंड्रॉइड, Haiku, AmigaOS |
लाइसेंस | मुफ्त सॉफ्टवेयर (विम लाइसेंस), चैरिटीवेयर |
अमीगा के लिए अपनी रिहाई के बाद से, क्रॉस-प्लेटफॉर्म विकास ने इसे कई अन्य प्रणालियों पर उपलब्ध कराया है। 2006 में, लिनक्स जर्नल के पाठकों के बीच इसे सबसे लोकप्रिय संपादक के रूप में चुना गया था;[4] 2015 में स्टैक ओवरफ्लो डेवलपर सर्वेक्षण ने इसे तीसरा सबसे लोकप्रिय पाठ संपादक, [5] और 2019 में पांचवां सबसे लोकप्रिय विकास वातावरण माना।[6]
विम के अग्रदूत, स्टीवी, 1987 में 'अटारी एसटी' के लिए टिम थॉम्पसन द्वारा बनाया गया था[7][8] और आगे टोनी एंड्रयूज [7][9] और जी.आर. (फ्रेड) वाल्टर[10][11] द्वारा विकसित किया गया था।
स्टीवी पर अपने काम के आधार पर, ब्रैम मूलनेयर ने 1988 में अमिगा कंप्यूटर के लिए विम पर काम करना शुरू किया और 1991 में पहली बार सार्वजानिक तौर से जारी किया (विम संस्करण संख्या 1.14) ।[12][13][बेहतर स्रोत वांछित]
अपनी पहली रिलीज़ के समय, "वीआईएम" नाम "वीआई इमीटेशन(नकली)" के लिए एक संक्षिप्त था, लेकिन यह 1993 में "वीआई एमप्रोवेस्ड(उन्नत)" में बदल गया।[14]
वीआई की तरह, विम का इंटरफ़ेस मेनू या आइकन पर आधारित नहीं है, बल्कि टेक्स्ट यूजर इंटरफेस में दिए गए कमांड पर आधारित है; जीयूआई मोड, जीविम, आमतौर पर उपयोग किए जाने वाले कमांड के लिए मेनू और टूलबार जोड़ता है, लेकिन पूर्ण कार्यक्षमता अभी भी अपने कमांड लाइन मोड के माध्यम से व्यक्त की जाती है। वीआई (और विस्तार द्वारा विम) एक टाइपिस्ट को अपनी उंगलियों को कीबोर्ड की होम पंक्ति पर रखने की अनुमति देता है, जो एक टच टाइपिस्ट के लिए फायदेमंद हो सकता है। .[15]
विम में नौसिखियों के लिए एक अंतर्निहित ट्यूटोरियल है जिसे विमट्यूटोर कहा जाता है। यह आमतौर पर विम के साथ इंस्टॉल होता है, लेकिन यह एक अलग निष्पादन योग्य के रूप में मौजूद है और इसे शेल कमांड के साथ चलाया जा सकता है।[16] विम उपयोगकर्ताओं के लिए एक उपयोगकर्ता पुस्तिका भी है जो विम की विशेषताओं और अक्सर पूछे जाने वाले प्रश्न का विवरण है। यह उपयोगकर्ता पुस्तिका विम के भीतर से पढ़ा जा सकता है, या ऑनलाइन पाया जा सकता है।[17][18]
विम में एक अंतर्निहित मदद सुविधा (उपयोग: :help
कमांड) है जो उपयोगकर्ताओं को कमांड और सुविधाओं के माध्यम से खोज और नेविगेट करने की अनुमति देती है।
विम में 12 अलग-अलग संपादन मोड हैं, जिनमें से 6 बाकी 6 मूल मोड के वेरिएंट हैं।[19] मूल मोड हैं:
insertmode
विकल्प निर्दिष्ट नहीं किया जाता है।:
), और कुछ अन्य विशिष्ट अक्षर जो विभिन्न क्रियाओं के अनुरूप हैं (पैटर्न खोज और फ़िल्टर कमांड सहित) इस मोड को सक्रिय करते हैं।विम अत्यधिक अनुकूलन योग्य और विस्तारणीय है, जो इसे उन उपयोगकर्ताओं के लिए एक आकर्षक उपकरण बनाता है जो अपने पाठ संपादन वातावरण पर नियंत्रण और लचीलेपन की बड़ी मात्रा की मांग करते हैं।[21] कीबोर्ड की कार्यक्षमता बढ़ाने के लिए डिज़ाइन किए गए विभिन्न प्रकारों से पाठ इनपुट की सुविधा है। उपयोगकर्ता "की मैपिंग" के साथ जटिल कमांड निष्पादित कर सकते हैं, जिसे अनुकूलित और विस्तारित किया जा सकता है। "रिकॉर्डिंग" सुविधा मैक्रोज़ के निर्माण के लिए कीस्ट्रोक्स के अनुक्रमों को स्वचालित करने और आंतरिक या उपयोगकर्ता-परिभाषित फ़ंक्शन और मैपिंग को कॉल करने की अनुमति देती है। संक्षिप्तीकरण, मैक्रोज़ और कुंजी मैपिंग के समान, पाठ के छोटे तार के विस्तार की सुविधा प्रदान करते हैं और गलतियों को सुधारने के लिए भी इसका उपयोग किया जा सकता है। विम एक सरल पाठ संपादन समाधान की तलाश करने वाले उपयोगकर्ताओं के लिए "आसान" मोड भी पेश करता है।[22]
कई प्लगइन्स उपलब्ध हैं जो विम में नई कार्यक्षमता को बढ़ाते हैं या जोड़ते हैं, जैसे लिंटर, गिट के साथ एकीकरण, सीएसएस से रंग दिखाना। इन जटिल स्क्रिप्ट्स को आमतौर पर विम की आंतरिक स्क्रिप्टिंग भाषा, विमस्क्रिप्ट (जिसे 'विम एल' के रूप में भी जाना जाता है) में लिखा जाता है,[23] लेकिन अन्य भाषाओं में भी लिखा जा सकता है।
जटिल स्क्रिप्ट और अनुकूलन को एक साथ जोड़ने वाली परियोजनाएं हैं और इसका उद्देश्य विम को एक विशिष्ट कार्य के लिए टूल में बदलना या उसके व्यवहार में एक प्रमुख स्वाद जोड़ना है। उदाहरणों में क्रीम शामिल है, जो विम को एक क्लिक-टू-टाइप संपादक या 'विम आउटलाइनर' की तरह व्यवहार करता है, जो यूनिक्स जैसी प्रणालियों के उपयोगकर्ताओं के लिए एक आरामदायक आउटलाइनर प्रदान करता है।
विम स्क्रिप्ट (जिसे 'विम्स्क्रिप्ट' या 'विम एल' भी कहा जाता है)[24] स्क्रिप्टिंग भाषा है जिसे विम में बनाया गया है।[25] मूल वीआई संपादक की पूर्व संपादक भाषा के आधार पर, विम के शुरुआती संस्करणों ने नियंत्रण प्रवाह और फ़ंक्शन परिभाषाओं के लिए कमांड जोड़े। संस्करण 7 के बाद से, विम स्क्रिप्ट सूचियों और शब्दकोशों जैसे और उन्नत डेटा प्रकारों का समर्थन करती है और (सरल) ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग। बिल्ट-इन फ़ंक्शंस जैसे कि map()
और filter()
फ़ंक्शनल प्रोग्रामिंग के मूल रूप की अनुमति देते हैं, और विम स्क्रिप्ट में संस्करण 8 के बाद से लैम्ब्डा है। विम स्क्रिप्ट ज्यादातर एक अनिवार्य प्रोग्रामिंग शैली में लिखी गई है।
विम मैक्रोज़ में सामान्य-मोड कमांड का एक अनुक्रम हो सकता है, लेकिन अधिक जटिल कार्यों के लिए विम स्क्रिप्ट में पूर्व कमांड या फ़ंक्शन भी लिख सकते हैं। कोर विम कार्यक्षमता के लगभग सभी एक्सटेंशन (जिसे 'प्लग-इन' या अधिक सामान्यतः स्क्रिप्ट कहा जाता है) विम स्क्रिप्ट में लिखे गए हैं, लेकिन प्लगइन्स पर्ल[26], पाइथन[27], लुआ[28], रूबी[29], टीसीएल[30] या रैकेट[31] जैसी अन्य भाषाओं का भी उपयोग कर सकते हैं। इन प्लग-इन्स को मैन्युअल रूप से या प्लग-इन मैनेजर जैसे कि वंडल, पैथोजन या विम-प्लग के माध्यम से इंस्टॉल किया जा सकता है।
विम स्क्रिप्ट फ़ाइलों को सादे पाठ के रूप में संग्रहीत किया जाता है, अन्य कोड के समान, और फ़ाइल नाम एक्सटेंशन आमतौर पर है .vim
। इसका एक उल्लेखनीय अपवाद विम फ़ाइल का कॉन्फिग है, .vimrc
।
" यह विम स्क्रिप्ट में एक सरल प्रोग्राम है
echo "Hello, world!"
" यह विम स्क्रिप्ट में एक सरल लूप है
let i = 1
while i < 5
echo "count is" i
let i += 1
endwhile
unlet i
जबकि वीआई मूल रूप से केवल यूनिक्स ऑपरेटिंग सिस्टम पर उपलब्ध था, Vim को AmigaOS (प्रारंभिक लक्ष्य प्लेटफॉर्म), MiNT, BeOS, डॉस, विंडोज़ एन.टी., OS/2, OS/390, MorphOS, OpenVMS, QNX, RISC OS, लिनक्स, BSD, Classic Mac OS[32] से शुरू होने वाले कई प्रचालन तंत्र में पोर्ट किया गया है। इसके अलावा, विम को Apple macOS की हर कॉपी के साथ शिप किया जाता है।[33]
विम के स्वतंत्र पोर्ट एंड्रॉइड[34][35] और आईओएस दोनों के लिए उपलब्ध हैं।[36]
Seamless Wikipedia browsing. On steroids.