आप इन संपादकों की तुलना कैसे करेंगे? प्रत्येक का भला - बुरा क्या है?
[ नोट ] इसका मतलब उन लोगों द्वारा उत्तर नहीं दिया जाता है जो "एक से नफरत करते हैं और दूसरे से प्यार करते हैं" या उन लोगों ने जो दोनों का उपयोग नहीं किया है।
आप इन संपादकों की तुलना कैसे करेंगे? प्रत्येक का भला - बुरा क्या है?
[ नोट ] इसका मतलब उन लोगों द्वारा उत्तर नहीं दिया जाता है जो "एक से नफरत करते हैं और दूसरे से प्यार करते हैं" या उन लोगों ने जो दोनों का उपयोग नहीं किया है।
जवाबों:
मैं दोनों का उपयोग करता हूं, हालांकि अगर मुझे एक चुनना था, तो मुझे पता है कि मैं कौन सा चुनूंगा। फिर भी, मैं कुछ मुद्दों पर एक उद्देश्य तुलना करने की कोशिश करूँगा।
हर जगह उपलब्ध है? यदि आप एक पेशेवर सिस्टम एडमिनिस्ट्रेटर हैं, जो यूनिक्स सिस्टम के साथ काम करता है, या एम्बेडेड डिवाइस (रूटर्स, बिजीबॉक्स,…) के साथ एक पॉवर यूजर है, तो आपको vi (विम नहीं) जानने की जरूरत है, क्योंकि यह सभी यूनिक्स सिस्टम और सबसे ज्यादा उपलब्ध है यूनिक्स जैसी प्रणाली, चाहे डेस्कटॉप, सर्वर या एम्बेडेड। एक साधारण उपयोगकर्ता के लिए, यह तर्क अप्रासंगिक है: Emacs हर डेस्कटॉप / सर्वर OS के लिए आसानी से उपलब्ध है, और चूंकि यह दूरस्थ संपादन का समर्थन करता है, इसलिए यह आपके डेस्कटॉप मशीन पर वैसे भी होना पर्याप्त है।
फूला हुआ? Emacs एक बार "आठ मेगाबाइट्स और लगातार स्वैपिंग" के लिए विनोदी रूप से खड़े थे। अभी, मेरी मशीन पर, Google Chrome को प्रति टैब में लगभग RAM की आवश्यकता है क्योंकि Emacs 100 खुली फ़ाइलों के लिए करता है, और मैं फ़ायरफ़ॉक्स का उल्लेख भी नहीं करूंगा। 21 वीं सदी में, Emacs bloat सिर्फ एक मिथक है।
फ़ीचर ब्लोट समस्या भी नहीं है। यदि आप इसका उपयोग नहीं करते हैं, तो आपको यह जानने की जरूरत नहीं है कि यह वहां है। Emacs के फीचर्स उस तरह से बाहर रहते हैं जब आप उनका उपयोग नहीं करते हैं और प्रलेखन बहुत अच्छी तरह से व्यवस्थित होता है।
स्टार्टअप समय : Vi (m) के समर्थक Emacs के स्टार्टअप समय के बारे में शिकायत करते हैं। हां, Emacs की शुरुआत धीमी है, लेकिन यह कोई बड़ी बात नहीं है: आप Emacs को प्रति सत्र एक बार शुरू करते हैं, फिर इसके साथ रनिंग प्रक्रिया से जुड़ते हैं emacsclient
। इसलिए Emacs का धीमा स्टार्टअप ज्यादातर एक मिथक है।
एक अपवाद है, जो तब होता है जब आप एक रिमोट मशीन में लॉग इन करते हैं और वहां एक फाइल को संपादित करना चाहते हैं। एक दूरस्थ Emacs शुरू करना एक दूरस्थ विम शुरू करने की तुलना में (आमतौर पर) धीमा है। कुछ स्थितियों में आप स्क्रीन के अंदर एक Emacs चला सकते हैं। आप Emacs के भीतर से दूरस्थ फ़ाइलों को भी संपादित कर सकते हैं, लेकिन यदि आप किसी टर्मिनल में ssh सत्र में हैं तो यह प्रवाह को तोड़ देता है। (चूंकि XEmacs 21 या GNU Emacs 23, आप टर्मिनल के अंदर चल रहे X से Emacs विंडो खोल सकते हैं।)
तालिकाओं को मोड़ते हुए, मैंने देखा है कि विम को एमएसीएस ( vim -u /dev/null
बनाम emacs -q
) से लोड करने के लिए अधिक समय लग रहा है । बेशक यह एक अजीब मंच (Cygwin) पर था।
प्रारंभिक सीखने की अवस्था: यह व्यक्ति से दूसरे व्यक्ति में भिन्न होता है। माइकल Mrozek के ग्राफ ने मुझे चकित कर दिया। गंभीरता से, मैं इस बात से सहमत हूं कि विम के सीखने की अवस्था में किसी भी अन्य संपादक की तुलना में स्थिर, स्थिर होना शुरू होता है, हालांकि यह जिम का उपयोग करके कम किया जा सकता है।
चूंकि मैंने Emacs मिथकों के एक जोड़े को दूर कर दिया है, मुझे एक vi मिथक को दूर करने दें: एक मोडल एडिटर का उपयोग करना कठिन या दर्दनाक नहीं है। यह एक छोटी सी आदत है, लेकिन थोड़ी देर बाद यह बहुत स्वाभाविक लगता है। अगर मुझे vi (m) को नया स्वरूप देना है, तो मैं निश्चित रूप से मोड रखूंगा।
असममित सीखने की अवस्था: विम और एमएसीएस दोनों में बहुत सारी विशेषताएं हैं, और आप वर्षों के उपयोग के बाद नए की खोज करते रहेंगे।
उत्पादकता : यह एक अत्यंत कठिन विषय है। Vi (m) के समर्थकों का तर्क है कि आप घर की पंक्ति को छोड़े बिना बहुत कुछ कर सकते हैं, और जब आपको सबसे अधिक आवश्यकता होती है तो यह आपको अधिक कुशल बनाता है। Emacs के समर्थक इस बात का मुंहतोड़ जवाब देते हैं कि Emacs के पास बहुत सारी कमांड्स हैं जो अक्सर उपयोग नहीं की जाती हैं, इसलिए एक महत्वपूर्ण बंधन को वारंट नहीं करते हैं, लेकिन जब आपको उनकी आवश्यकता होती है तब बहुत सुविधाजनक होते हैं ( अनिवार्य xkcd संदर्भ )।
मेरी निजी राय है कि Emacs अंततः जीतता है जब तक कि आपके पास एक टाइपिंग विकलांगता नहीं है (और तब भी आप Emacs को केवल प्रमुख अनुक्रमों की आवश्यकता के लिए कॉन्फ़िगर कर सकते हैं और संयोजन जैसे नहीं कर सकते हैं Ctrl)। होम रो कीज़ अच्छे हैं, लेकिन वे अक्सर जीत के बहुत ज्यादा नहीं हैं क्योंकि आपको मोड स्विच करना होगा। मुझे नहीं लगता कि विम कुछ भी महत्वपूर्ण कर सकता है Emacs की तुलना में अधिक कुशलता से, जबकि काफिला सच है।
अनुकूलन क्षमता : दोनों संपादक प्रोग्राम करने योग्य हैं, और दोनों के लिए उपलब्ध पैकेजों का एक व्यापक निकाय है। हालांकि, विम एक स्थूल भाषा के साथ एक संपादक है; Emacs एक एडिटर है जो लिस्प में कुछ एड-हॉक प्राइमेटरीज के साथ लिखा गया है। Emacs शानदार ढंग से जीतते हैं जब आप कुछ ऐसा करने की कोशिश करते हैं जो लेखकों ने अभी सोचा नहीं था। यह हर दिन नहीं होता है, लेकिन यह वर्षों में जमा होता है।
एक संपादक से अधिक : विम एक संपादक है। Emacs सिर्फ एक संपादक नहीं है: यह एक IDE, एक फ़ाइल प्रबंधक, एक टर्मिनल एमुलेटर, एक वेब ब्राउज़र, एक मेल क्लाइंट, एक न्यूज़ क्लाइंट, ... चाहे वह अच्छी बात हो या बुरी बात, बहस का विषय है। लेकिन आप Emacs को एक मात्र संपादक के रूप में उपयोग कर सकते हैं (ऊपर "फ़ीचर ब्लोट" देखें)।
IDE के रूप में : Vim और Emacs दोनों को बहुत सी प्रोग्रामिंग लैंग्वेज और अन्य टेक्स्ट फॉर्मेट के लिए सपोर्ट है। सिंटैक्टिक रंग और स्वचालित इंडेंटेशन जैसी बुनियादी बातों से परे, दोनों में उन्नत आईडीई विशेषताएं हैं जैसे कि कोड और प्रलेखन क्रॉस-रेफरेंस लुकअप, असिस्टेड इंसर्शन और रिफैक्टरिंग, एकीकृत संस्करण नियंत्रण, और एक संकलन शुरू करने और पहली त्रुटि पर पहुंचने की क्षमता।
एक डोमेन जहां Emacs Vim से बेहतर है, अतुल्यकालिक उपप्रकारों के साथ बातचीत करता है । जब आप एक लंबा संकलन शुरू करते हैं और उसी संपादक उदाहरण के अंदर कुछ और करना चाहते हैं जबकि कंपाइलर मंथन कर रहा होता है। या जब आप रीड-एवल-प्रिंट लूप के साथ बातचीत करना चाहते हैं - Emacs वास्तव में इस पर चमकते हैं, तो विम के पास केवल पेशकश करने के लिए अनाड़ी हैक्स हैं। फिर भी, विम का एक नया कांटा, नियोविम ने यह तय कर दिया है और स्टॉक विम में लागू नहीं किए गए अन्य विभिन्न बग-फिक्स को लागू किया है।
मैं पोस्ट करूँगा जो मुझे लगता है कि प्रत्येक के मुख्य लाभ हैं:
Emacs के पास आपको अधिक कार्य करने के लिए बहुत अधिक एक्सटेंशन हैं, जो केवल अस्पष्ट पाठ-संपादक से संबंधित हैं, जैसे कि फाइल सिस्टम को ब्राउज़ करना या संस्करण नियंत्रण के साथ खिलवाड़ करना, और ऐसे एक्सटेंशन जो किसी भी तरह से पाठ-संपादक से संबंधित नहीं हैं, जैसे RSS फ़ीड्स पढ़ना। अगर आप सिर्फ टेक्स्ट एडिटर के बजाय एक माहौल चाहते हैं, तो Emacs विम से बेहतर होने वाला है। मुझे भी लगता है कि Emacs सीखना बहुत आसान है, इसके बावजूद कि आप क्या मानते हैं:
विशेष रूप से, मुझे लगता है कि एक नौसिखिया Emacs उपयोगकर्ता एक नौसिखिया विम उपयोगकर्ता की तुलना में तेज होगा
दूसरी ओर, विम निर्विवाद रूप से तेज है। ऐसा लगता है कि यह तर्क का एक मुख्य हिस्सा है, लेकिन मेरी राय में इसमें कोई प्रतिस्पर्धा नहीं है; मैं खुद को एक धाराप्रवाह Emacs उपयोगकर्ता मानता हूं, और मैं उन दो लोगों के लिए कोई मुकाबला नहीं हूं जिन्हें मैं जानता हूं कि विम के बराबर ज्ञान है। समस्या यह है कि, लोगों की संख्या जो कि विम की पर्याप्त महारत रखती है, वह उपवास अविश्वसनीय रूप से छोटा है (~ 30 लोगों में से मैं नियमित रूप से बात करता हूं जो विम का उपयोग करते हैं, मुझे लगता है कि केवल एक ही इसे असाधारण रूप से अच्छा है)। संभावित गति लाभ और आपके द्वारा प्राप्त वास्तविक गति लाभ के बीच एक बड़ा अंतर है ; Emacs उपयोगकर्ता लगभग 99% Vim उपयोगकर्ताओं के रूप में तेज़ होने जा रहे हैं, और (जैसा कि मैंने Emacs अनुभाग में कहा था) Emacs उपयोगकर्ता शुरुआत में शायद विम उपयोगकर्ताओं की तुलना में तेज़ होंगे
वहाँ एक है vi
कि हर यूनिक्स सिस्टम पर उपलब्ध है (या लगभग), हालांकि आप नहीं इस बारे में किसी अन्य संपादक कह सकते हैं। यह जानने के लिए और अपने आप को परिचित करने के लिए # 1 कारण है, imo, vi
(कृपया ध्यान दें 'vi' नहीं 'vim')। मैंने कभी नहीं देखा है कि एमएसीएस एक डिफ़ॉल्ट इंस्टॉल में उपलब्ध हैं।
मैं यह नहीं कह रहा हूँ कि Emacs का उपयोग न करें या यह विम का उपयोग करने का एकमात्र कारण है, लेकिन जब आप यूनिक्स सिस्टम का उपयोग करने में सक्षम होना चाहते हैं जो कि आपका नहीं है ... vi
सार्वभौमिक भाषा का हिस्सा है।
vim
उपयोगकर्ता हूं, लेकिन मुझे अक्सर इसका उपयोग करना मुश्किल लगता है vi
, सबसे अधिक संभावना है कि END कुंजी (विम इसका समर्थन करता है, लेकिन vi नहीं करता है, या कम से कम डिफ़ॉल्ट रूप से नहीं करता है)
nano
अपनी फ़ाइल में ijkloOah का एक पूरा गुच्छा के साथ अंत का उपयोग करने की कोशिश करता हूं ... जब तक मुझे एहसास नहीं होता कि मैं नेविगेशन के लिए उन का उपयोग नहीं कर सकता हूं। मैं नेविगेट करने के लिए तीर कुंजियों का उपयोग नहीं करता।
vim
:)
मुझे लगता है कि वे दोनों कमाल हैं। मुझे लगता है कि दोनों में से कोई भी एक चीज कर सकता है जिसकी आप कल्पना कर सकते हैं, और वे दोनों इतने अनुकूलन योग्य हैं, कि जब तक आप उन्हें अनुकूलित करना समाप्त करते हैं, तब तक वे दोनों बिल्कुल वही होते हैं जो आप उन्हें चाहते हैं, कुछ भी नहीं और न ही कम।
Emacs थोड़ा करीब होने के बावजूद मेरे लिए खड़ा है (हालांकि अभी भी पूरा नहीं होता) आईएसओ / IEC मानकों के लिए प्रयोज्य और उपयोगकर्ता इंटरफ़ेस के लिए स्थिरता, और इसलिए उस विम के बारे में अपने "सहज" के साथ कई चालें नहीं खेलता है। आपके द्वारा अन्य कार्यक्रमों के साथ काम करने के लिए विकसित की गई वृत्ति का जीवनकाल आपके खिलाफ काम नहीं करेगा।
विम एक पूरी तरह से अलग मॉडल है, और कई मायनों में, यह अपने आप में अभी तक बेहतर है क्योंकि यह Cntrl / Alt अनुक्रमों पर बहुत कम निर्भर करता है, और इसके बजाय सिर्फ अपने मोड पर, आपको होम पंक्ति और टाइपिंग पर अपनी कठिनाइयों को बनाए रखने की अनुमति देता है। और तेज। लेकिन विम वास्तव में अद्वितीय है, और जब तक आप कुछ बहुत ही असामान्य साथ देने वाले सॉफ़्टवेयर (जैसे, विमपरेटर, जुमनजी / ज़थुरा, इत्यादि) को स्थापित नहीं करते हैं, तो आपके द्वारा विकसित की जाने वाली वृत्ति अन्य कार्यक्रमों और इसके विपरीत पार नहीं करेगी। उस ने कहा, मैं खुद ही सेटल हो गया हूं। आप जल्दी या बाद में, बेहतर या बदतर के लिए एक पर बस गए हैं, क्योंकि दोनों को मास्टर करना मुश्किल है।
मैं नियमित रूप से दोनों का उपयोग करता हूं। मैं एमएसीएस को "लाइव" संपादक के रूप में देखता हूं, जबकि मैं त्वरित, एकतरफा कार्यों के लिए विम का उपयोग करता हूं। सतही तौर पर, एमएसीएस विम की तुलना में बहुत अधिक फूला हुआ है, और इसलिए यह वास्तव में विम के रूप में "फायर अप" करने के लिए इतना सुविधाजनक नहीं है, लेकिन मुझे यह भी पता चलता है कि उपयोगकर्ता इंटरफ़ेस के दर्शन एक से दूसरे को इस प्रतिमान का समर्थन करते हैं। Emacs आपको अंदर रखने के लिए बहुत अधिक बनाया गया है, जिससे चीजें अच्छी और आरामदायक बनती हैं ताकि आपको छोड़ना न पड़े, जबकि विम बहुत अधिक "Unixy" है और खुद को एक बड़े टूल-बेल्ट के भाग के रूप में देखता है।
कई लोग बकरी के काटने पर इसकी भारी निर्भरता के कारण Emacs से भाग जाते हैं , लेकिन यह मेरे लिए एक बहुत ही मूर्खतापूर्ण कारण है। एमएसीएस पर विम की वास्तविक शक्ति कस्टमाइज़ेबिलिटी है, और वाइपर आदि की शक्ति के साथ, यह वास्तव में एक मुद्दा नहीं है। निश्चित रूप से विम-स्क्रिप्ट अनुकूलन का अपना स्तर प्रदान करता है, और यदि कहें, तो आपकी पसंदीदा प्रोग्रामिंग भाषा एक उपयुक्त वाक्यविन्यास हाइलाइटर के साथ प्रदान नहीं की गई थी जो आप निश्चित रूप से एक को पका सकते हैं, लेकिन Emacs अंततः एक स्व-होस्टिंग लिस्प-मशीन है, और में अंत आप इसके साथ बहुत कुछ कर सकते हैं। कुछ नाम रखने के लिए सिर्फ जिम्न या ऑर्ग-मोड जैसे उपकरण नहीं हैं । संक्षेप में, Emacs सिर्फ एक संपादक नहीं है, यह व्यावहारिक रूप से एक भगवान शापित ऑपरेटिंग सिस्टम है।
पाठ में हेरफेर के लिए, मैं कहूँगा कि वे बिल्कुल बराबर हैं।
मैं अपनी $ 0.02 की कीमत लगाऊंगा, क्योंकि मैंने Emacs और XEmacs का उपयोग करते हुए काफी साल बिताए और फिर वीम पर चला गया। निष्पक्ष होने के लिए, मैंने वास्तव में 1990-1992 के आसपास vi का काफी उपयोग किया था इसलिए मैं इसके यूजर इंटरफेस से परिचित था।
Emacs
Emacs को एक लिस्प सिस्टम के रूप में वर्णित किया गया है जो सिर्फ एक संपादक को लिखने के लिए इस्तेमाल किया जाता है, और इसमें सच्चाई का एक दाना है। यदि आप पर्यावरण को समझने के लिए अपना समय निकालना चाहते हैं, तो आप बहुत कुछ भी लागू कर सकते हैं। मैं यह नहीं कह सकता कि मुझे यह अच्छी तरह से पता है, लेकिन मैंने कभी-कभार सामान किया। Emacs और Xemacs इस स्तर पर पूरी तरह से संगत नहीं हैं, इसलिए थर्ड पार्टी स्क्रिप्ट एक पर नहीं बल्कि दूसरी पर चल सकती हैं।
यह देखा गया है कि RMS और कुछ अन्य प्रमुख Emacs हैकर्स को OOS के साथ समस्याओं के कारण प्रोग्रामिंग से सेवानिवृत्त होना पड़ा, जहां बिल जॉय, ब्रैम मूलीनार और अन्य विभिन्न vi luminaries अभी भी हैं। आपकी पिंक उंगलियों पर Emacs कठोर हैं।
एमएसी वीआई की तुलना में बहुत अधिक कैथोलिक प्रणाली है, और इसे सॉफ्टवेयर के लिफाफे के विहित उदाहरण के रूप में देखा जाता है । नेटस्केप के साथ, यह इस कानून को साबित करने में jwz के योगदानों में से एक है ।
एक अनोखी बात जो मैंने एक बार xemacs के साथ की थी, वह यह थी कि एक मशीन पर चल रहा था और एक xterminal (वास्तव में एक पुराने पुनर्निर्मित सूर्य 3/60) पर एक ही सत्र में एक ही बफर के खिलाफ एक ही रनिंग इंस्टेंस पर चल रहा था।
पेशेवरों: एक्स्टेंसिबल, आदमी के लिए जाने जाने वाले किसी भी अन्य संपादक की तुलना में अधिक शक्तिशाली, प्रत्येक प्रमुख मुफ्त सॉफ्टवेयर प्रोग्रामिंग टूल के साथ परिपक्व एकीकरण।
विपक्ष: संदिग्ध एर्गोनॉमिक्स, elisp सीखना आसान नहीं है।
शक्ति
डिस्क्लेमर - मैं लगभग 10 साल पहले ईमैक का उपयोग करने से चला गया था और मैं आदतन विंडोज और यूनिक्स / लिनक्स आधारित प्रणालियों पर विम का उपयोग करता हूं।
संपादन कार्यों को स्वचालित करने के लिए वीआई और इसके वंशजों के पास एक बहुत अच्छा कीबोर्ड मैक्रो सुविधा है। Vim में स्क्रिप्टिंग सुविधा elisp जितना परिष्कृत नहीं है, लेकिन आप इसे Python, Tcl, Perl और शायद कुछ अन्य सिस्टम के लिए समर्थन के साथ बना सकते हैं। मैंने केवल विम के लिए कभी-कभी स्क्रिप्ट (.vimrc फ़ाइलों के बाहर) लिखी है।
वीम में एमएसीएस की तुलना में एक छोटा पदचिह्न है, लेकिन यह इन दिनों बहुत बड़ी बात नहीं है।
विम के प्रलेखन और ऑन-लाइन मदद काफी अच्छी है। Emacs के पास ऑन लाइन प्रलेखन काफी अच्छा है, लेकिन मुझे नहीं लगता कि यह विम के समान व्यापक है।
विम ने वीर के विचित्र मोडल यूजर इंटरफ़ेस को विरासत में प्राप्त किया है, लेकिन इसमें अब एक मामूली संपादक की तरह व्यवहार करने की क्षमता है, क्योंकि आप इन्सर्ट मोड में नेविगेट कर सकते हैं। विंडोज पर यह विंडोज़ एप्लीकेशन के समान व्यवहार कर सकता है।
पेशेवरों: अच्छी कीबोर्ड मैक्रो सुविधा, अच्छी तरह से अच्छी एक्स्टेंसिबिलिटी और स्क्रिप्टिंग, लेकिन एमएसीएस जितना अच्छा नहीं। विम या vi- व्युत्पन्न संपादक सभी पर मानक होते हैं यदि सभी यूनिक्स या सामान्य प्रयोजन लिनक्स डिस्ट्रोस नहीं होते हैं। संभवतः बेहतर एर्गोनॉमिक्स।
विपक्ष: मॉडल यूजर इंटरफेस विंडोज यूआई के लिए इस्तेमाल किया लोगों के लिए अजीब लगता है। इन दिनों vim के साथ कोई समस्या नहीं है।
मैं आमतौर पर विम का उपयोग करता हूं, लेकिन वे दोनों महान संपादक हैं।
Vi का उपयोग करना सीखना बुरा था, लेकिन मैं इसके माध्यम से मिला और इसे पसंद करना सीखा। मेरे सबसे निराशाजनक क्षण तब थे जब कैप्स लॉक कुंजी चालू थी। आप gVim के साथ प्रयास कर सकते हैं, लेकिन vi और Emacs के साथ सबसे बड़ा लाभ कीबोर्ड पर अपने हाथों को रखने के दौरान साफ-सुथरा सामान करने की क्षमता है, और gVim आपको माउस का उपयोग करके रखने की संभावना है। (एक ही समय में रॉगुलाइक गेम खेलना सीखना मुझे कर्सर मूवमेंट कीज़ के साथ अभ्यास देता था, लेकिन इससे मुझे कभी-कभी दस्तावेजों में तिरछी चाल चलने की कोशिश करनी पड़ी।)
Emacs शायद अधिक स्वीकार्य है। यह आदर्शहीन है, और आप कैप्स लॉक कुंजी को दबाकर अपने आप को खराब नहीं करेंगे। नियंत्रण कुंजी के साथ टाइपिंग अक्षरों के माध्यम से संपादक को नियंत्रित करने का विचार आधुनिक बिजली उपयोगकर्ताओं के लिए बहुत विदेशी नहीं होना चाहिए, हालांकि चीजों को करने के लिए वास्तविक कुंजी विशिष्ट विंडोज / मैक ओएस एक्स उपयोगकर्ता के लिए जंगली और मनमाना लगेगा। फिर, संस्करण जो आपको माउस का उपयोग करने की अनुमति देते हैं, वे आपको लंबे समय में कुछ एहसान करते हैं।
दोनों को प्रभावी ढंग से उपयोग करने के लिए कुछ स्तर की विशेषज्ञता की आवश्यकता होती है। नोटपैड, के विपरीत, आप बस बैठकर संपादित नहीं कर सकते।
दोनों कॉन्फ़िगर करने योग्य हैं, हालांकि एक ही लिस्प में मेरे पैसे लेखन एक्सटेंशन के लिए संपादक को एक चिकना अनुभव बनाता है। (Emacs, जैसा कि आम तौर पर वितरित किया जाता है, वास्तव में एक संपादक नहीं है। यह एक लिस्प वातावरण है, जिसमें टेक्स्ट प्रोसेसिंग के लिए एक पूर्व-लिखित सॉफ़्टवेयर है, जिसमें एक संपादक भी शामिल है। इसलिए मज़ाक "Emacs एक अच्छा खोल बनाता है, लेकिन यह उपयोग कर सकता है।" एक बेहतर संपादक। ")
मैं आमतौर पर विम का उपयोग करता हूं, क्योंकि व्यापक प्रशिक्षण के बाद, यह आसान लगता है। यह मोड सिस्टम में फायदे के कारण हो सकता है, जहां होम रो के पास एक उंगली, या "बेबी डक सिंड्रोम" का उपयोग करते हुए कमांड की भारी संख्या उपलब्ध है, जो संपादकों पर बहुत अधिक लागू होती है: एक बार जब आप एक अच्छा सीखते हैं, तो आप आम तौर पर छड़ी करते हैं यह करने के लिए।
आप गलत इस्तेमाल नहीं करेंगे।
Vi / vim का उपयोग न करने का मुख्य कारण यह है कि यह मोडल है। Vi का उपयोग करने का मुख्य कारण यह है कि यह लगभग हर जगह उपलब्ध है।
मुझे लगता है कि ऊपर "टिप्पणी मोडल है" टिप्पणी गलत है। विम के आदेश हैं। आप कर सकते हैं "11aNow सभी अच्छे पुरुषों के लिए समय है .." और अपनी फ़ाइल में पाठ की 11 समान नई पंक्तियों के साथ समाप्त करें। यह एक कमांड है, मोड नहीं। लेकिन वास्तव में विम कमांड बनाम इमैक कमांड में बहुत बुनियादी अंतर है। मुझे पूरी तरह से यकीन नहीं है कि मैं इसका वर्णन कर सकता हूं, लेकिन एरिक फिशर ने 10 साल पहले TTY ड्राइवर में Emacs- स्टाइल लाइन संपादन को शामिल किया, और इसके बारे में एक पत्र प्रकाशित किया:
http://www.usenix.org/event/usenix99/full_papers/fischer/fischer.pdf
उन्होंने पाया कि Emacs स्टाइल लाइन संपादन मौलिक रूप से vi-style से अलग था।
इसलिए Emacs का एक फायदा है कि बहुत सी अन्य चीजें (bash, gnuplot, zsh, ksh कुछ अन्य जो मैं अपने सिर के ऊपर से नहीं हटा सकता) सभी Emacs- स्टाइल लाइन संपादन को लागू करते हैं।
मुझे ध्यान देना चाहिए कि मैं व्यक्तिगत रूप से हर समय विम का उपयोग करता हूं। मैं केवल एक बहुत ही सामयिक Emacs उपयोगकर्ता हूँ।
set -o vi
में bash
या zsh
बहुत कठिन चलाने के लिए (या एक में डाल नहीं है rc
फ़ाइल) मेरी राय में।
gnuplot
, Postgresql psql
, MySQL mysql
और अन्य इंटरफेस के एक टन सभी डिफ़ॉल्ट रूप से कम या ज्यादा Emacs मोड करते हैं। यदि केवल Oracle sqlplus
कमांड लाइन संपादन करने के लिए मिल सकता है ... नहीं, नहीं। एक मेजर कॉरपोरेशन से पूछना बहुत ज्यादा होगा। उनके पास ट्रेंड टू फॉलो है!
inputrc
शेल टूल्स के लिए काम करता है, लेकिन फिर मैं खुद को आधे सेकंड के लिए आश्चर्यचकित j
करता हूं कि टर्मिनल से स्विच करने के बाद मेंडेली डेस्कटॉप में इसे स्क्रॉल क्यों नहीं किया जाता है, और उन्हें कई बार विम बाइंडिंग के लिए कहा गया। दुर्भाग्य से सब कुछ कवर नहीं कर सकते हैं और एक सुसंगत वातावरण है।
mysql(1)
, psql(1)
, gnuplot(1)
, भी python(1)
, perlconsole(1)
, lftp(1)
, smbclient(1)
और वास्तव में इंटरैक्टिव कार्यक्रमों के बहुत सारे लाइन संपादन के लिए कीबाइंडिंग के बारे में चिंतित थे। ये सभी सॉफ़्टवेयर बस GNU Readline का उपयोग करते हैं , और GNU Readline के लिए डिफ़ॉल्ट मोड (अचंभित रूप से) GNU Emacs-like है। set editing-mode vi
आपकी ~/.inputrc
और वसीला में - इन सभी उपकरणों में vi- जैसी कीबाइंडिंग हैं।
चूंकि यह स्पष्ट रूप से नहीं बताया गया है, इसलिए मैं थोड़ा बेहतर संशोधित Emacs वितरण की तुलना में कोई बेहतर प्रोग्रामिंग वातावरण (एक बॉक्स, SLIME, आदि में लिस्प) नहीं जोड़ूंगा। मेरी प्रोग्रामिंग की सभी जरूरतों (99%) का ध्यान विम के भीतर से रखा जाता है, लेकिन उन सभी लिस्प पुस्तकालयों और दिनचर्याओं के लिए जो मुझे लिखते हैं, मुझे कुछ भी उत्पादक बनाने के लिए Emacs को फायर करना होगा।
मैं Vim / gVim का उपयोग करता हूं।
मैं Emacs का उपयोग करता था, लेकिन मैंने पाया कि GVim आमतौर पर धीमी मशीनों पर तेजी से काम करता है, साथ ही, इसके POSIX आवश्यकता के कारण, vi लगभग हर जगह उपलब्ध है।
विम या जीवीएम का उपयोग करते समय, मैं माउस का उपयोग करता हूं, इसके लिए समर्थन महान है, मुझे लगता है।
मैंने Emacs का उपयोग करना शुरू कर दिया, क्योंकि नौसिखिए उपयोगकर्ता के लिए उपयोग करना आसान था। मैंने पाया कि नैनो का उपयोग किसी कारण के लिए काफी त्रुटि वाला है, और किसी समय मुझे एहसास हुआ कि मैं vi का उपयोग करने के साथ बहुत अधिक आरामदायक हूं।
अभी, यह एक मिश्रण है। मैं ग्रहण और gedit का उपयोग अक्सर करता हूं, भी। हालांकि, विम अभी भी मेरा पसंदीदा और सबसे अधिक इस्तेमाल किया जाने वाला संपादक है।
मैं उत्पादक होने के लिए अच्छी तरह से दोनों GVim और Emacs का उपयोग करता हूं, हालांकि मैं न तो विशेषज्ञ हूं। एक बात जो मैं निश्चित रूप से कह सकता हूं, वह यह है कि विम और जीवीम मेरे विंडोज 7 लैपटॉप पर तेजी से चलते हैं (जिसका मुझे काम में इस्तेमाल करना है)। Emacs, विंडोज बॉक्स पर, मिनट तक के लिए "रुकने" की एक अजीब आदत है और कीबोर्ड इनपुट स्वीकार करने के लिए जारी रखने के दौरान भी अनुत्तरदायी बन जाता है, एक भीड़ में कीबोर्ड बफर में संचित सब कुछ बाहर थूकने से पहले। मैक ओएस या लिनक्स में ऐसा नहीं होता है। फिर भी मैं अपने आप को सभी प्लेटफार्मों पर ज्यादातर समय विम या जीवीएम का उपयोग करने के लिए पाता हूं, इसलिए मुझे रोकना और सोचना नहीं चाहिए कि मैं किस संपादक का उपयोग कर रहा हूं और समायोजित कर सकता हूं। उस ने कहा, विशुद्ध रूप से * निक्स के माहौल में, मैं शायद एमाक्स के साथ रहूंगा क्योंकि मुझे लगता है कि मैं मॉडल एडिटिंग को थोड़ा और स्वाभाविक मानता हूं।
नीचे पंक्ति: मेरी राय में दोनों संपादक किसी भी और सभी पाठ संपादन आवश्यकताओं को संभालने के लिए पर्याप्त शक्तिशाली हैं। चुनाव व्यावहारिक विचारों (जैसे प्लेटफॉर्म कार्यान्वयन की बारीकियों), और कार्य शैली पर आधारित होना चाहिए।
Emacs और Vim के बीच मुख्य अंतर एर्गोनोमिक है। जैसा कि आप जानते हैं कार्पल टनल सिंड्रोम, सीटीएस है। अगर आपके पास CTS है और CTS को उकसाता है तो Emacs बहुत "खतरे" है। विम - नहीं, आप इस अंतर के बारे में कई जगहों पर पढ़ सकते हैं। उदाहरण के लिए, विम में आप केवल एक उंगली से पाठ संपादित कर सकते हैं। Emacs में - आप नहीं कर सकते :)
मैं vi
/ nvi
(नहीं vim
) का उपयोग करता हूं क्योंकि यह सरल और विनीत है।
vim
प्यार बहुत कठिन है और कुछ हद तक बंद होने के लिए अविश्वासपूर्ण है। मुझे शारीरिक रूप
से आंतरिक पीसी स्पीकर को हटाने से पहले अंततः यह पता चला कि दफन-रेफ को कैसे करना है :)
set vb t_vb=
इसके अलावा, मैं सिंटैक्स रंग का उपयोग नहीं करता, मेरे लिए ग्रे ओवर ब्लैक सबसे सुंदर है।
और हो सकता है कि मैं बहुत बेवकूफ हूं कि उस उलझी-बहु-की-दबाए हुए emacs
तरीके से केवल तीन प्रमुख संयोजन मुझे याद रहे सीटीआरएल-एएलटी-डेल।
"विम और इमैक के पेशेवरों और विपक्ष क्या हैं?" - हा!
मैं ज्यादातर पेशेवरों को दूसरों को छोड़ दूँगा।
इन दोनों की सहमति यह है कि वे दोनों पुराने स्कूल हैं। मैं शायद बुनियादी लाइन संपादकों से सुपर फास्ट असेंबली कोडेड संपादकों (एक के लिए VEDIT), फैंसी जीयूआई संपादकों, दूसरों की तुलना में कुछ बेहतर करने के लिए 50 से अधिक विभिन्न संपादकों का उपयोग किया है। मैंने अपने स्वयं के विशेष संपादक को फोर्थस्टार नाम से लिखा है और इसे बीट्रीव पत्तियों के एक पेड़ को संपादित करने के लिए अनुकूलित किया है, शक्तिशाली खोज के लिए कई अनुक्रमित के साथ, जैसे कि मैंने पिछले पत्तियों को तुरंत संपादित किया, या जल्दी से कोड घटकों, या पत्ती माता-पिता को खोजने के लिए। या बच्चे।
मुझे लगता है कि मांसपेशियों की तुलना में vi और emacs दोनों अधिक धर्म हैं। रचनात्मक दिमाग जिसने उन्हें बनाया है, वे काफी हद तक आगे बढ़ चुके हैं, और नए समर्थन में उन्हें फिर से आविष्कार करने के लिए साहस और कौशल का अभाव है।
हाँ Emacs बहुत कुछ कर सकते हैं, लेकिन यह लिस्प, एक सुंदर और अब बड़े पैमाने पर अप्रचलित भाषा से धीमा है।
दोनों मुश्किल कीबोर्ड लेआउट में फंस गए हैं। Emacs कम से कम उपयोगकर्ता को समायोजित कर सकता है, यह पहचानकर कि एंटीक मेटा के बजाय एक Alt कुंजी है। और जैसे वर्डस्टार यह पहचानता है कि सीए बी को सीए बी से सीधे रखना जब गति टाइपिंग के लायक नहीं है। बस कॉम्बो से निकाल दिया जाता है कि बस एक के लिए बेहतर है। हां, आप कुंजी बाइंडिंग को बदल सकते हैं, लेकिन फिर बाद में आपको क्या गड़बड़ है।
Vi चतुर है, लेकिन शक्तिशाली खोज का अभाव है और नोटपैड ++ की तरह प्रतिस्थापित करता है जो आपको दिखाता है कि यह क्या पाया गया है, आपको इसे विस्तारित करने और चुनिंदा रूप से इसे रंग में लागू करने देता है, बस एक नवाचार का उल्लेख करने के लिए।
इन दिनों लगभग कोई अन्य जीयूआई एपी माउस पहिया के साथ ज़ूम करने की अनुमति देता है। Emacs GUI को यह काम करने के लिए नहीं लगता है। और जहां केट की तरह एक अच्छा ग्रीकिंग है?
वर्षों से मेरा पसंदीदा कीबोर्ड लेआउट वर्डस्टार का कर्सर हीरा था। कम से कम इसे सीखना आसान था और तुरंत समझ में आया। जिस से मुझे सबसे ज्यादा नफरत थी, वह था WordPerfect जिसने जटिलता बढ़ा दी और लगता है कि यह कुछ हद तक emacs पर आधारित है।
आइए इसका सामना करते हैं दुनिया के अधिकांश इन दिनों जीयूआई है। और यह पसंद है या नहीं पाठ संपादकों कुछ अपनी उम्र में फंस रहे हैं।
मुझे लगता है कि यह एक सार्वभौमिक संपादक होना बेहतर होगा जो आसानी से emacs, vi, wordstar, या जो भी मुख्य लेआउट के बीच स्विच कर सकता है, और बिना अधिक शक्तिशाली कमांड खोए इसे पेश करना होगा। रियल प्रोग्रामर्स को कई तरह के एडिटिंग टूल्स का इस्तेमाल करना पड़ता है। एक संपादक के पास ऐसा क्यों नहीं है जो हमें काम करने के बजाय काम करने के लिए मजबूर करने की हमारी जरूरतों को पूरा करता है?
M-! emacs RET
यह "google" के लिए खोज Google की तरह है