मैं सॉफ्टवेयर विकसित करने के लिए एक आईडीई (ग्रहण) का उपयोग करता हूं। मुझे वीम या एमएसीएस पर क्यों स्विच करना चाहिए? [बन्द है]


31

मेरा दिन का काम जावा / वेब डेवलपर है। मैं ~ 5 साल के लिए ग्रहण का उपयोग कर रहा हूं। मुझे लगता है कि यह बहुत अच्छा है और मैं जावास्क्रिप्ट और html / jsp के लिए वेबस्टॉर्म का भी उपयोग करता हूं।

मुझे अवसर पर सर्वर में ssh और कॉन्फिग फाइलों के साथ गड़बड़ करने की जरूरत है; इसके लिए मैं vi का उपयोग करता हूं और यह मुझे पीड़ा देता है। मुझे सिंटैक्स / कमांड को सूचीबद्ध करने वाला एक वेबपेज प्राप्त करना होगा: प्रेस एस्केप, फिर एस्टेरिक्स, लगभग तीन बार मुड़ें और टेक्स्ट आपके कर्सर के ऊपर दो लाइनों में प्रवेश करेगा । इसका इतना unintuitive मेरे लिए, और मुझे लगता है किसी को भी देर से अस्सी के दशक नब्बे के दशक में बड़े हुए।

यहां मुख्य कारण हैं जो मुझे लगता है कि ग्रहण शानदार है (और मुझे लगता है कि अन्य आईडीई है), और emacs और / या विम पर स्विच न करें।

  • प्रोजेक्ट को फिर से शुरू करने की आवश्यकता के साथ हाइलाइट करने में त्रुटि।
  • कोड सहायता।
  • पुनर्रचना।
  • उद्घाटन कॉल hiearchy / उद्घाटन घोषणा।
  • पूरी तरह से स्रोत नियंत्रण के साथ एकीकृत।
  • डीबगर शामिल हैं।
  • तृतीय पक्ष प्लगइन्स की उपलब्धता - उदा। फाइबग्स / चेकस्टाइल।

मेरे द्वारा सुनी गई दलीलों में से एक यह है कि emacs / vim से आप अपने खुद के प्लगइन्स बना सकते हैं - ठीक है, लेकिन आप ग्रहण में भी ऐसा कर सकते हैं। लेकिन आप की जरूरत नहीं है क्योंकि सब कुछ पहले से ही है! यह कहना पसंद है कि यह आधी निर्मित कार खरीदें, बाकी आप स्वयं बना सकते हैं।

लोग Emacs / विम का उपयोग क्यों कर रहे हैं? क्या इसका इस्तेमाल करने वाले लोग वास्तव में बड़े संगठनों में जटिल वस्तु-उन्मुख परियोजनाओं पर काम करते हैं?

Vim / emacs पर स्विच करने के क्या कारण हैं। यदि मैंने स्विच किया तो मेरी उत्पादकता कैसे बढ़ेगी?


1
क्या आप कृपया शीर्षक को पुनःप्रकाशित कर सकते हैं? इसका कोई मतलब नहीं है।
वेटले

@ बेहतर है?
निमचम्पस्की

5
मैं आमतौर पर उपयोग करता हूं nano, बजाय vim, क्योंकि मैं एक सीएलआई का उपयोग नहीं करता हूं जो अक्सर सभी vimआज्ञाओं को सीखने के लिए पर्याप्त होता है । यदि आप केवल कभी-कभी इसका उपयोग करते हैं, तो मुझे लगता है कि कुछ सरल nanoहोगा जैसे कि आप बेहतर सेवा करेंगे ...
डीन हार्डिंग

काफी बेहतर! :)
वेटल

कुछ समय पहले, जब मुझे यूनिक्स से परिचित कराया गया था, तो मैंने vi और emacs दोनों की कोशिश की और मैंने emacs का उपयोग करना समाप्त कर दिया, क्योंकि vi बस इतना अजीब और गैर-स्पष्ट लग रहा था (मेरा मतलब है, जब एक पंक्ति के अंत में पाठ को जोड़ना बोझिल हो,) कुछ गड़बड़ है)। और vi की कमांड / संपादन मोड मेरे लिए व्यक्तिगत रूप से काम नहीं करते थे।
Skizz

जवाबों:


36

जो भी उपकरण आपकी आवश्यकताओं के अनुरूप हो उसका उपयोग करें। अगर आपको कभी रिमोट सर्वर में लॉगिन करना है और किसी कॉन्फिग फाइल या कुछ समान को एडिट करना है तो VIM या Emacs जानना एक अच्छी बात है। मुझे पता है कि वीआईएम यथोचित है, लेकिन मैं इसे जावा में विकसित करने के लिए उपयोग नहीं करूंगा। यही ग्रहण, नेटबीन्स आदि के लिए बने हैं।


5
@NimChimpsky मैं कुछ भाषाओं जैसे C, रूबी, पायथन, हैसेल के लिए emacs का उपयोग करता हूं। लेकिन जावा या सी # के लिए, मेरा मानना ​​है कि आईडीई का उपयोग करना बेहतर है। अपनी नौकरी में मैं VS के साथ C # का उपयोग करता हूं। बस उस उपकरण का उपयोग करें जो आपको लगता है कि अधिक उत्पादक है।
हायना

8
यह मज़ेदार है कि यदि आप किसी से पूछते हैं कि "Why vi सीखें" तो इसका उत्तर ALWAYS है "किसी दिन शायद आपको रिमोट सर्वर पर लॉगिन करना होगा और कुछ कॉन्फिगर फाइल को एडिट करना होगा"। मुझे आश्चर्य है कि वास्तव में कितने डेवलपर्स को ऐसा करना पड़ा।
ओलिवर वीलर

2
पुनश्च: मैं व्यक्तिगत रूप से vi से प्यार करता हूं, लेकिन इसलिए नहीं कि मुझे लगता है कि यह दुनिया में सबसे अच्छा संपादक है, बल्कि इसलिए कि यह मुझे बेहतर :-) बनाता है।
ओलिवर वीलर

2
@ हेल्पर विधि: मुझे निश्चित रूप से यह हर अब और फिर करना है! जब तक आप एमएस वातावरण में सख्ती से काम नहीं कर रहे हैं, तब तक ऐसा होना तय है।
user281377

1
कॉन्फ़िगरेशन फ़ाइलों में छोटे संपादन करने के लिए, आपको निश्चित रूप से Emacs या Vim की आवश्यकता नहीं है, हालांकि वे सिर्फ ठीक हैं, लेकिन सीखने के प्रयास के लायक नहीं हैं जहां नैनो का उपयोग ठीक किया जा सकता है।
Anto

39

Emacs और Vi अभी भी एक जगह है।

  • वे सर्वसम्मति से यूनिक्स और यूनिक्स जैसे वातावरण में उपलब्ध हैं, और अधिकांश अन्य लोकप्रिय प्लेटफार्मों पर स्थापित किए जा सकते हैं।

  • वे लोकप्रिय और स्थिर हैं, इसलिए उन्हें सीखने के बाद लंबे समय तक भुगतान करना पड़ता है।

  • वे एक पाठ टर्मिनल पर चलते हैं, इसलिए आप उन्हें टेलनेट और ssh सत्रों में उपयोग कर सकते हैं।

  • वे बहुत नई और बहुत ही दुर्लभ भाषाओं सहित विभिन्न प्रकार की भाषाओं के लिए संपादन मोड और वाक्य रचना हाइलाइटिंग प्रदान करते हैं। (यह मेरे पसंदीदा लाभों में से एक है।)

हालांकि, इन कार्यक्रमों को समझने की कुंजी यह जानना है कि मूल रूप से हल करने के लिए उन्हें क्या समस्याएं थीं। Vi के लिए यह 300 बॉड की तरह टर्मिनल कनेक्शन पर पाठ फ़ाइलों को संपादित कर रहा था। यदि आप इससे बच सकते हैं तो उस वातावरण में आप मेनू प्रदर्शित नहीं करना चाहते या स्क्रीन सामग्री को मौलिक रूप से नहीं बदल सकते।

Emacs का उपयोग तेज वातावरण में किया जाना था। यह ताकत थी कि इसे एक बार लोड किया जा सकता था और कभी भी बाहर नहीं निकाला जा सकता था। उपयोगकर्ता Emacs से बिना किसी आवश्यक कार्य को पूरा कर सकता है, और अक्सर कमांड लाइन से ऐसा करने की तुलना में अधिक अनुकूल तरीके से। लोगों को एक Emacs खिड़की खुली के साथ एक ग्राफिकल डेस्कटॉप वातावरण नहीं था। Emacs उपयोगकर्ता को केवल कुछ प्रमुख स्ट्रोक के साथ लगभग किसी भी सामान्य कार्य (और कई अजीब) को पूरा करने देता है। कुछ भी नहीं बनाया जा सकता है पटकथा में।

जाहिर है कि इन कार्यक्रमों की शुरुआत के बाद से लोगों की ज़रूरतें बहुत बदल गई हैं, लेकिन उनके पास अभी भी कुछ वास्तविक ताकतें हैं। मैंने दोनों की मूल बातें सीख ली हैं, और साप्ताहिक आधार पर उनका उपयोग करते हैं। फिर भी, मुझे लगता है कि उनकी ताकत अक्सर खत्म हो जाती है। उन्होंने ऐसी पौराणिक स्थिति हासिल कर ली है कि लोग अपनी कमजोरियों को स्वीकार नहीं करते हैं और इसके बजाय वे सोचते हैं कि वे कुछ गलत कर रहे हैं यदि Emacs / Vi उन्हें ग्रहण या दृश्य स्टूडियो की तुलना में अधिक उत्पादक नहीं बनाते हैं।

अब बात है।

ग्रहण में उत्कृष्ट समर्थन के साथ जावा एक लोकप्रिय भाषा है, और ऑड्स हैं कि आप एक आधुनिक ऑपरेटिंग सिस्टम पर कोड विकसित कर रहे हैं जो आपको अपने आईडीई के माध्यम से किए बिना सामान्य कार्यों और स्क्रिप्ट दूसरों को जल्दी से पूरा करने देता है। मुझे नहीं लगता कि यह आपके लिए स्विच करने के लिए समझ में आएगा।


+1 दुर्लभ भाषाओं के लिए, मुझे लगता है कि गतिशील भाषाओं को जोड़ना होगा और भाषाओं को पार्स करने के लिए बहुत मेहनत भी emacs पर इतना लाभ नहीं है, लेकिन एक IDE आपको emacs
jk

16

मैं 5+ वर्षों से emacs का उपयोग कर रहा हूं। मैं अब आपको उन प्रमुख संयोजनों के बारे में नहीं बता सकता जो मैं उपयोग कर रहा हूं, मेरी उंगलियां बस उन्हें याद करती हैं और कीबोर्ड पर सिर्फ यह देखना है कि मेरे हाथ क्या टाइप कर रहे हैं।

कुछ साल पहले मैंने ग्रहण का उपयोग करना शुरू कर दिया है, और कोई मौका नहीं है कि मैं स्वतंत्र रूप से emacs वापस जा रहा हूं। क्षमा करें, मांसपेशियों की स्मृति, भले ही आप पुराने याद कर रहे हों C-x r SPC 1, ग्रहण मुझे बहुत अधिक उत्पादक बनाता है और यही मायने रखता है।

नहीं, मुझे नहीं लगता कि आपको स्विच करना चाहिए , लेकिन आपको विम की मूल बातें सीखने के लिए कुछ घंटे समर्पित करने चाहिए ताकि आपको इसे और अधिक देखने की जरूरत न पड़े।


क्या आप इस बात पर विस्तार से बता सकते हैं कि आप Emacs की तुलना में ग्रहण में क्या तेजी से कर सकते हैं?
गॉर्डन गुस्ताफसन

1
आजकल, मुझे नहीं लगता कि ग्रहण वह अच्छा है। लेकिन यह अभी भी emacs को तब तक धड़कता है जब यह रिफैक्टिंग की बात आती है और यह तथ्य कि यह एक प्रोग्रामिंग भाषा के शब्दार्थ को समझता है जो खोज आदि को आसान बनाता है।
मार्टिन विकमैन

7

मुझे वीम या एमएसीएस पर क्यों स्विच करना चाहिए?

सबसे अधिक संभावना है, आपको स्विच नहीं करना चाहिए । विम एक उत्कृष्ट, शक्तिशाली पाठ-संपादक है, लेकिन यह एक आईडीई के लिए एक विकल्प नहीं है, और ऐसा नहीं होना चाहिए! ग्रहण आईडीई-विशिष्ट चीजों के अपने सबसेट पर बहुत अच्छा है, और पाठ-संपादन-विशिष्ट चीजों के सबसेट पर विम बहुत अच्छा है। प्रत्येक का अपना, अलग, फोकस होता है।

मुझे पता है कि ऐसे प्लगइन्स हैं जो विम की कार्यक्षमता को बढ़ाते हैं ताकि यह एक ही आईडीई-विशिष्ट चीजों को एक आईडीई कर सके। लेकिन यह अभी भी विम की मुख्य ताकत नहीं है, और एक आईडीई लगभग हमेशा इसे बेहतर करने में सक्षम होगा। क्योंकि वह वही है जिस पर उनका ध्यान केंद्रित है।

मैं अपने दैनिक कार्य में क्या करता हूं दोनों दृश्य स्टूडियो का उपयोग करते हैं और सी # संपादन के लिए उपयोग करते हैं । यह मेरे लिए बहुत अच्छी तरह से काम करता है, और मैं उनमें से एक को दूसरे पर विशेष रूप से भरोसा करने के लिए कभी नहीं काटूंगा।

जहाँ तक emacs जाता है, मैं कोई विशेषज्ञ नहीं हूं, लेकिन मुझे नहीं लगता कि यह ग्रहण की IDE सुविधाओं के साथ प्रतिस्पर्धा कर सकता है जब यह जावा की बात आती है (कृपया मुझे गलत होने पर सही करें)। यदि आप लिस्प में विकसित कर रहे हैं, तो यह निश्चित रूप से एक उत्कृष्ट आईडीई माना जा सकता है, लेकिन मुझे नहीं लगता कि इसमें जावा के लिए समान समर्थन है।

इसलिए यदि आप ग्रहण के साथ एक अधिक शक्तिशाली पाठ संपादक का उपयोग करना चाहते हैं, तो मैं निश्चित रूप से आपको या तो विम या इमेक सीखने की सलाह दूंगा। लेकिन पूरक के रूप में, प्रतिस्थापन के रूप में नहीं । यह वास्तव में लंबे समय में भुगतान कर सकता है, भले ही उनमें से कोई भी विशेष रूप से आसान सीखने की अवस्था नहीं है:)

यहाँ vim की ताकत के बारे में एक अच्छा longish पढ़ा है । और यहाँ कुछ अच्छे ट्रिक्स की सूची दी गई है जो आप कर सकते हैं।


6

मूल रूप से, यह (PDF) यह देखने के लिए पढ़ें कि Emacs शक्तिशाली क्यों है। एक बार जब आप लिस्प को जानते हैं, तो इसके लिए एक्सटेंशन लिखना लगभग तुच्छ आसान है (मेरे पास कई स्रोत नियंत्रण वर्कफ़्लोज़ हैं और एक ऐड-ऑन के माध्यम से स्क्रिप्ट की गई तैनाती को मैंने खुद के लिए लिखा है employer-mode)। जहाँ तक आप ऊपर सूचीबद्ध करते हैं;

  • प्रोजेक्ट को फिर से शुरू करने की आवश्यकता के साथ हाइलाइट करने में त्रुटि। सभी भाषाओं के लिए कोई मतलब नहीं है। आप REPLsइसमें कई भाषाओं को आसानी से एकीकृत कर सकते हैं । अभी, मेरे पास है ruby, python, haskell, common lisp, schemeऔर erlangEmacs में सभी शौकीन। संयोग से, जावास्क्रिप्ट एडऑन js2-modeमें पूर्ण वृद्धिशील "संकलन" है, इसलिए यह आपके लिए वाक्यविन्यास त्रुटियों जैसी चीजों को उजागर करता है, इसलिए यह निश्चित रूप से संभव है, लेकिन आदर्श नहीं
  • कोड सहायता। कहा जाता है कि के लिए एक addon है autocomplete.el, मुझे विश्वास है, Emacs विकि की जाँच करें
  • पुनर्रचना। मुझे लगता है कि आप "स्वचालित रीफैक्टरिंग" का मतलब है, जो सभी भाषाओं में समझ में नहीं आता है। शायद कुछ के लिए मौजूद है, लेकिन मुझे नहीं पता।
  • उद्घाटन कॉल hiearchy / उद्घाटन घोषणा।
  • पूरी तरह से स्रोत नियंत्रण के साथ एकीकृत। यह git-modeEmacs 22.3 के रूप में बनाया गया है, अन्य स्रोत नियंत्रण के बारे में निश्चित नहीं है
  • डीबगर शामिल हैं। भाषा-दर-भाषा आधार यहाँ। आमतौर पर, अगर इसका REPL एकीकरण है, तो इसमें Emacs डीबगर भी है, लेकिन यह सार्वभौमिक नहीं है
  • तृतीय पक्ष प्लगइन्स की उपलब्धता - उदा। फाइबग्स / चेकस्टाइल। उन विशिष्ट लोगों के बारे में नहीं जानते हैं, लेकिन इसके लिए बहुत सारे ऐड-ऑन हैं, क्यों-न-इस-इन-द-बेस-पैकेज-उपयोगी, पूरी तरह से तुच्छ के लिए

उस ने कहा, अगर आपको लिस्प पसंद नहीं है, और आप इसे सीखने का इरादा नहीं रखते हैं, तो मैं ईमानदारी से Emacs की सिफारिश नहीं कर सकता। आपके द्वारा इससे जीतने वाली जीत टूल-क्राफ्टिंग के बारे में सीख रही है और उन सिद्धांतों को लागू करने के लिए जो आपकी खुद की उत्पादकता बढ़ाने के लिए हैं, ऑफ-द-शेल्फ मोड्स का एक गुच्छा नहीं मिल रहा है और उन्हें एक साथ स्ट्रिंग कर रहा है।


एक अधिक सुविधाजनक हास्केल संपादक की आवश्यकता है मेरा प्रमुख ड्राइवर एमएसीएस या विम सीखने की कोशिश कर रहा है (मुझे एमएसीएस बेहतर है;)) वीएस सी #, एफ #, आदि के लिए बहुत अच्छा है, लेकिन अधिकांश छोटी भाषाओं के लिए अच्छे संपादकों की कमी बहुत ही आकर्षक लगती है। एक सामान्य उद्देश्य उपकरण के रूप में।
कोडेक्सअर्बनम

कम से कम Emacs- भूमि CEDET में cedet.sourceforge.net (Emacs Development Environment Tools का संग्रह) वास्तव में पाठ संपादक और IDE के बीच की रेखा को धुंधला करता है। यह मुख्य रूप से C / C ++ (और अन्य) पर लक्षित है और प्रोजेक्ट ब्राउज़र (और स्वचालित मेकफाइल जेनरेशन), कोड पूरा होने, कोड सहायता (कर्सर पर फ़ंक्शन का प्रोटोटाइप दिखाना), var / फ़ंक्शन के अन्य उपयोगों के लिए कूदता है, ऑटो प्रदान करता है जनरल कंस्ट्रक्टर्स / डिस्ट्रक्टर्स, और आदि यह इस तरह के टूल के लिए अनुमति देने वाले Emacs की व्यापक व्यापकता है।
क्रिस

3

मुझे यहां दो विकल्प दिखाई देते हैं:

  • इसके बजाय नैनो का उपयोग करें - यह बिल्कुल लिनक्स के लिए विंडोज में नोटपैड की तरह है। कोई हॉटकी संयोजन की आवश्यकता नहीं है, आप बस टाइप करते हैं nano somefile.confऔर आपके पास एक अच्छा संपादक है। आप सिंटैक्स हाइलाइटिंग भी जोड़ सकते हैं
  • प्रोग्राम को स्थानीय रूप से रखें और सर्वर पर एससीपी के साथ सिंक करें - मैं ऐसा तब करता हूं जब मुझे छोटी वेबसाइट पर काम करने की आवश्यकता होती है लेकिन स्थानीय स्तर पर एपाचे को चलाने के लिए पर्याप्त संसाधन नहीं होते हैं। मैं बस WinSCP को लाता हूं, जो निर्देशिका मैं चाहता हूं उसे ऊपर लाएं और "दूरस्थ फ़ाइलों को अद्यतित रखें" का उपयोग करें। परिवर्तन आमतौर पर सेकंड में परिलक्षित होते हैं
  • दूरस्थ फ़ाइल के साथ "सीधे" काम करने के लिए अपने संपादक / आईडीई में एक प्लगइन का उपयोग करें - संशोधन नियंत्रण के बारे में परवाह करने से पहले, मैंने बस नोटपैड ++ (मेरा पसंदीदा संपादक) को निकाल दिया और फाइलों पर काम करने के लिए NppFTP का उपयोग किया। NppFTP WinSCP विकल्प की तुलना में तेज़ है क्योंकि Npp फ़ाइल को सहेजने के तुरंत बाद बताता है, जो तुरंत अपलोड हो जाता है। हालाँकि जैसा कि मैंने कहा था कि आप नियंत्रण में ढीले हैं। मुझे यकीन है कि ग्रहण के लिए एक प्लगइन है जिसका आप उपयोग कर सकते हैं

उम्मीद है की यह मदद करेगा


नैनो के लिए +1, इसे प्यार करेंगे।
दशगुन

+1 नैनो कमाल की है। यदि केवल मुझे यह पता था कि vi का उपयोग करते हुए अंतहीन वर्षों के दर्द से पहले।
ओलिवर वीलर

2

व्यक्तिगत रूप से, मुझे विम पसंद है क्योंकि यह पाठ को संपादित करने में बहुत अच्छा है, अर्थात बहुत ही एर्गोनोमिक (कीबाइंडिंग मेरे हाथों को इतना तनाव नहीं देती है और मुझे माउस का उपयोग करने की आवश्यकता नहीं है) और एक बार उपयोग करने के लिए कुशल है ताकि आप इसे लटका सकें यह (जो निश्चित रूप से समय और धैर्य लेगा, क्योंकि यह शुरुआती लोगों के लिए सबसे सहज संपादक नहीं है)।

लेकिन मैं कई विशेषताओं के कारण बड़े पैमाने पर जावा विकास के लिए ग्रहण को प्राथमिकता दूंगा जो आसानी से उपलब्ध हैं। बेशक, कुछ प्लगइन्स हैं जो ग्रहण को थोड़ा अधिक सहनीय बना सकते हैं।


1

यदि आप ग्रहण से खुश हैं, तो स्विच न करें।

यदि आप अपनी ज़रूरत के अनुसार हर जगह ग्रहण का उपयोग कर सकते हैं, तो स्विच न करें।

यदि आपकी परियोजना / कंपनी बहुत विशेष रूप से ग्रहण का उपयोग करती है, तो स्विच न करें।

यदि आपको केवल किसी और चीज की आवश्यकता है, तो संपादकों में से एक के लिए एक चीट-शीट का प्रिंट आउट लें और ज़रूरत पड़ने पर उसे दराज से बाहर निकालें, और फिर ग्रहण का उपयोग करने के लिए वापस जाएं।

SO पर समान (समान) प्रश्न देखें: https://stackoverflow.com/questions/1346820/what-are-the-efficiencies-afforded-by-emacs-or-vim-vs-ecentse

जहां तक ​​जवाब है, "क्या जो लोग इसका उपयोग करते हैं वे वास्तव में बड़े संगठनों में जटिल वस्तु उन्मुख परियोजनाओं पर काम करते हैं?" - अपनी टोपी सनी पर पकड़ो, लेकिन जवाब "हाँ" है। मैंने उन लाखों सीपीयू की दसियों पंक्तियों वाली परियोजनाओं पर काम किया है, जो इस सवाल को पूछने के लिए आपके द्वारा उपयोग किए जा रहे कंप्यूटर को चलाने वाले सीपीयू को डिजाइन करने के महत्वपूर्ण मार्ग में प्रयुक्त होती हैं। और लोगों ने एक्लिप्स की कोशिश की, लेकिन यह बहुत धीमी और भद्दी लग रही थी (हालांकि, वास्तव में, हम जावा का उपयोग नहीं कर रहे थे)।


1

दोनों emacs और विम बहुत विन्यास और शक्तिशाली संपादक हैं, और दोनों बुनियादी अवधारणाओं को समझने के बाद बड़ी उत्पादकता जीत प्रदान करते हैं।

वीए अनिवार्य रूप से सेट-आधारित संचालन के साथ जीतता है। उदाहरण के लिए, "फू" के सभी उदाहरणों को एक वर्ग परिभाषा में "बार" में बदलना वन-लाइनर है।

Emacs समान रूप से शक्तिशाली है, लेकिन आपको इसकी पूरी क्षमता का उपयोग करने के लिए Emacs Lisp सीखना होगा।

या तो मामले में, यह केवल स्विच करने के लायक है यदि आप सब कुछ के लिए emacs या vi का उपयोग करने की योजना बनाते हैं


1

सबसे अच्छा उपकरण (अल्पावधि में) आप के साथ अत्यधिक कुशल हैं।

लोग 30+ वर्ष पुरानी तकनीक का उपयोग करते हैं क्योंकि वे इसके साथ अत्यधिक कुशल हैं। उन्होंने इन उपकरणों के आसपास अपने वर्कफ़्लो और आदतों का निर्माण किया। यदि आप ग्रहण जैसी आधुनिक आईडीई से अधिक परिचित हैं, तो स्विच करने का कोई कारण नहीं है। ग्रहण का अधिक कुशलता से उपयोग करना सीखना आपके समय का एक बेहतर निवेश है (उदाहरण के लिए माइलिन का उपयोग करें )।


1

मैं वर्तमान में NetBeans से विम पर स्विच करने का प्रयास कर रहा हूं। लर्निंग वीम में समय और अभ्यास लगता है, लेकिन मैं इसके फायदे देखता हूं, चलो उन्हें कुछ मामलों के लिए "जीयूआई संपादक" कहते हैं।

लेकिन, आप के विपरीत, मैं ज्यादातर रूबी कोडिंग कर रहा हूं, और मुझे उस सभी कोड-जनरेटिंग, ऑटो-कम्प्लीट, रिफलेक्टर-माय-कोड ब्लैक मैजिक की जरूरत नहीं है जो नेटबीन्स और एक्लिप्स ऑफर करते हैं। अगर मैं जावा या सी # कोडिंग कर रहा था तो मैं निश्चित रूप से स्विच करने की कोशिश नहीं करूंगा।


मैंने सालों से विम का इस्तेमाल किया है। यह रूबी के साथ बहुत अच्छी तरह से काम करता है, और एक बार जब आप सीखने की अवस्था में उठ जाते हैं तो आप दक्षता पसंद करेंगे।
लैरी कोलमैन

1

Emacs के एक लंबे समय के उपयोगकर्ता के रूप में, मैं एक संपादन और विकास के माहौल के रूप में emacs को बहुत सहज महसूस करता हूं (और कुछ हद तक, यह बिल्ड प्रक्रिया, संस्करण नियंत्रण, त्वरित संदर्भ-संवेदनशील खोज और पसंद के साथ भी एकीकृत है, इसलिए मुझे लगता है कि योग्यता प्राप्त है यह एक "आईडीई") के रूप में है।

मैं vi और vi- जैसे संपादकों का उपयोग करने के साथ वास्तविक रूप से सहज हूं (मैंने एड का उपयोग करना शुरू कर दिया था, क्योंकि मुझे लगा कि एमेक बहुत जटिल था, रेट्रोस्पेक्ट में जो पीछे की तरफ है, लेकिन इसने मुझे vi के भविष्य के सीखने के लिए एक ठोस आधार दिया)। मैं मुख्य रूप से "छोटे त्वरित संपादन" के लिए vi का उपयोग करता हूं, मुख्य रूप से दूरस्थ मशीनों पर जहां emacs स्थापित नहीं है।

आपके "मुझे इस अवसर पर सर्वर में ssh करने और कॉन्फिगर फ़ाइलों के साथ गड़बड़ करने की आवश्यकता है, इसके लिए मैं vi" परिदृश्य का उपयोग करता हूं, मैं vi के आसपास कुछ सामान्य आदेश और कुछ सामान्य विचार सुझाता हूं:

  • Vi मोडल नहीं है, इसमें "a" (परिशिष्ट), "A" (पंक्ति के अंत में संलग्न), "i" (सम्मिलित करें) और "I" (पंक्ति के प्रारंभ में सम्मिलित) कमांड्स हैं, पाठ सम्मिलित करने के लिए Esc के साथ एक तर्क और सिग्नलिंग "एंड-ऑफ-कमांड" के रूप में
  • एच, जे, के और एल आंदोलन कुंजी हैं। यह तीर कुंजियों का उपयोग करके काम करता है, लेकिन विशिष्ट VT- शैली के रूप में "मैं एक तीर कुंजी हूं" अनुक्रम Esc से शुरू होता है, यह पाठ-सम्मिलन कमांड को तोड़ देगा जिसे आप नहीं सोच रहे हैं
  • : लिनेनम आपको लिनेनम लाइन में ले जाता है , लाइन 1 सबसे ऊपर की रेखा है और लाइन $ सबसे नीचे है
  • "अंतिम कमांड दोहराएं" कमांड है (पहली बुलेट बिंदु देखें)

यह vi के साथ खेलने में एक या दो घंटे से अधिक समय नहीं लेना चाहिए "मैं आत्मविश्वास से एक पाठ फ़ाइल को संपादित कर सकता हूं, लेकिन मैं इसके साथ कुशल नहीं हो सकता" और यह उतना ही अच्छा है जितना आपको संभवतः होना चाहिए। । ऐसा करने में, कोई भी संपादक जो टैब और रिक्त स्थान के बीच ऑटो-कन्वर्सेशन के बारे में फ़फ़ नहीं करता है, उसे आपके उद्देश्यों के लिए "पर्याप्त रूप से अच्छा" होना चाहिए। यदि आपके सभी रिमोट सर्वर पर एक्लिप्स स्थापित है, तो मुझे इसका उपयोग एक बड़ी समस्या के रूप में नहीं दिखता है।


क्यों डाउन वोट?
वेटिन

1

मैं बहुत एमएसीएस लड़का हूं। मैं इसे अपने सभी प्रोग्रामिंग के लिए उपयोग करता हूं, और सक्रिय रूप से अपने सहकर्मियों को इसका उपयोग करने के लिए प्रोत्साहित करता हूं, भी (और वे सक्रिय रूप से मुझे अनदेखा करते हैं)। मुझे यह किसी भी आईडीई की तुलना में कहीं अधिक उत्पादक लगता है, और मैं कभी नहीं बदलूंगा।

जब तक मैं जावा या सी # लिख रहा हूं (और मुझे लगता है कि इस श्रेणी में अन्य भाषाएं हैं)। उनके पास लंबे नामों के साथ सामानों की इतनी बड़ी लाइब्रेरी है , कि मुझे Emacs का उपयोग करने से जो लाभ मिलता है , वह सब कुछ याद करने की कोशिश में पूरी तरह से खो जाता है।

मैं निश्चित रूप से आपको vim और / या Emacs आज़माने के लिए प्रोत्साहित करता हूँ । लेकिन आप संभवतः जावा के लिए ग्रहण में वापस समाप्त होने की संभावना है।


0

मुझे उपलब्ध विभिन्न UNIX संपादकों से कोई समस्या नहीं है, लेकिन मैं केवल विरोध के तहत ही उनका उपयोग करता हूं। नहीं, जैसा कि मैं कहता हूं, क्योंकि मेरे पास उनके साथ एक मुद्दा है, लेकिन क्योंकि अगर मुझे उनका उपयोग करना है तो इसका मतलब है कि हमारी तैनाती प्रक्रिया में किसी तरह की कमी है।

यह शायद थोड़ा और संदर्भ के योग्य है: मैं बड़े पैमाने पर ई-कॉमर्स समाधानों पर काम करता हूं, जो कुछ भी हमारे सिस्टम के चलने को नियंत्रित करता है वह एक-क्लिक बिल्ड / तैनाती प्रक्रिया द्वारा उत्पन्न होता है। हमारे पास परीक्षण वातावरण की एक सरणी है इसलिए किसी भी समय मैं ग्रहण के माध्यम से बदलाव कर सकता हूं, इसे cvs में जांच सकता हूं और यह सुनिश्चित करने के लिए एक बिल्ड / तैनाती को ट्रिगर कर सकता हूं कि मेरे फिक्स ने काम किया है। इसलिए- अगर मैं 'vi' में इधर-उधर हैकिंग कर रहा हूं, तो यह इसलिए है क्योंकि हम तैनाती के 1 घंटे के टर्नअराउंड का इंतजार नहीं कर सकते हैं या इसलिए कि तैनाती मेरे द्वारा संपादित की जा रही फाइलों को कवर नहीं करती है और इसे करने के लिए बढ़ाया जाना चाहिए इसलिए (अन्यथा मैं अगली बार जब प्रश्न में फाइल को बदलने की जरूरत हो तो मैं हैकिंग करूंगा)।


0

व्यक्तिगत रूप से दोनों कार्यक्रम मुझे दीवार तक पहुंचाते हैं। एक्लिप्स के साथ समस्या यह है कि जब आप किसी बड़े प्रोजेक्ट पर काम कर रहे होते हैं और जब इसकी 'DGLP इंडेक्सिंग' नहीं कर रहे होते हैं या जो कुछ भी होता है, तो यह धीमा हो जाता है। अपने भंडार को ताज़ा करना चाहते हैं? 15 मिनट मिले? ओह, और उस निफ्टी ट्रिक के बारे में जहां आप कुछ पाठ Ctrl-C करते हैं, उसके बाद Ctrl-P इसे कहीं और ले जाते हैं, लेकिन इसके बजाय जहाँ आप चाहते थे कि यह पूरी तरह से एक अलग फ़ाइल खोले और कुछ और पर चिपके और आप आश्चर्यचकित रह गए wtf था पहली जगह में। ओह और क्या मैंने vpn पर एक बड़ी परियोजना पर ग्रहण के साथ काम करने का उल्लेख किया है? व्यावहारिक रूप से असंभव है।

जैसा कि विम के लिए, इसका अच्छा और तेज़ मानना ​​आपको पूरी तरह से संवेदनाहीन कुंजी संयोजनों की भीड़ को जानता है ताकि यह कुछ और अच्छा कर सके अगर आप खुद को किसी अज्ञात मोड में दुर्घटना से पाते हैं। सही फ़ाइलों को खोलने के लिए आपके सिर में आपके पूरे प्रोजेक्ट डायरेक्टरी स्ट्रक्चर को जानने के लिए आपको बहुत ज्यादा विम के साथ होना चाहिए। विम का मुख्य लाभ यह है कि सिद्धांत रूप में आप कोड को तेजी से बना सकते हैं क्योंकि इसकी सभी चाबियाँ, लेकिन वास्तव में मुझे परवाह नहीं है कि मैं कितना पाठ लिख रहा हूं, यह पाठ की मात्रा नहीं है जो कोड की गुणवत्ता और अक्सर गुणवत्ता को मायने रखता है कोड को अंत तक घंटों तक दर्जनों फ़ाइलों को घूरने की आवश्यकता होती है जब तक कि आप टाइप करने के लिए सटीक सही चीज़ का पता नहीं लगाते हैं (जो आमतौर पर बहुत कम है)।

मेरी इच्छा है कि कोई कमांड लाइन प्रोग्राम लिखेगा, जैसे कि विम, वास्तव में एक निर्देशिका संरचना होती है जैसे कि किनारे पर या कुछ ऐसा जिसे आप विस्तार / पतन और फ़ाइलों को खोल सकते हैं। किसी को भी इस तरह से कुछ भी पता है?


3
आप केवल एक बफर में एक निर्देशिका खोल सकते हैं और यह निर्देशिका में फ़ाइलों को सूचीबद्ध करेगा। उस फ़ाइल पर कर्सर ले जाएँ जिसे आप संपादित करना चाहते हैं, वापसी लौटें, और यह उस फ़ाइल को खोल देगा। विभिन्न प्रकार के विम प्लग (जैसे नर्डट्री) स्वचालित रूप से विंडो को विभाजित करने, एक फलक में फ़ाइल खोलने और निर्देशिका ट्री को दूसरे में रखने जैसी अधिक परिष्कृत सुविधाएँ प्रदान करते हैं। Vim और emacs के साथ सामान्य कठिनाई यह नहीं है कि उनके पास सुविधाओं की कमी है, यह है कि ब्राउज़िंग मेनू द्वारा सुविधाओं को आसानी से खोजा नहीं जा सकता है, आपको सहायता दस्तावेज पढ़ना होगा।
चार्ल्स ई। ग्रांट

आपके उत्तर का अंतिम भाग एक और प्रश्न होना चाहिए।
Matthieu

जब आप मुख्य संयोजनों का वर्णन करने के लिए "संवेदनहीन" कार्य का उपयोग करते हैं, तो आप शौकिया के रूप में सामने आते हैं। इसके अलावा नीर का पेड़ वही करता है जो आप वर्णन कर रहे हैं, जब विम में प्लग किया जाता है।
अरुणव सान्याल

-1

यदि आप VIM या EMACS से खुश नहीं हैं, तो आप अन्य टेक्स्ट संपादकों के लिए उस मशीन को देख सकते हैं। Nedit या gedit या somesuch का कुछ स्वाद हो सकता है जिसे आप उपयोग कर सकते हैं जिसमें अधिक परिचित कमांड होंगे (ctrl x, c, v और s जो आप उदाहरण के लिए उम्मीद करेंगे)।

आपके पास संभवतः अपने डिस्ट्रो पर दो से अधिक विकल्प हैं, यह देखने लायक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.