2010-09-30 15 views
8

... या vi/vim केवल गैर-विंडोज ओएस पर विकसित होने पर उपयोग किया जाता है?डेवलपर्स वास्तव में विंडोज ओएस पर कोड (जावा) लिखने के लिए विम का उपयोग करते हैं?

यदि नहीं, तो कौन सी विशेषता vim प्रदान करती है, जो कि आधुनिक आईडीई जैसे ग्रहण नहीं करते हैं? Windows वर्कस्टेशन पर विकास करते समय कोई ग्रहण (या इंटेलिजे, वेबस्पेयर, या अन्य फीचर समृद्ध आईडीई) पर विम का उपयोग क्यों करेगा? ध्यान दें कि मैं जावा विकास और कुछ डिग्री संकलित भाषाओं का जिक्र कर रहा हूं, शेल स्क्रिप्टिंग या स्क्रिप्टिंग के अन्य रूपों में नहीं।

+2

नज़दीक के लिए मतदान करने की आवश्यकता नहीं है मुझे लगता है: यह एक दिलचस्प सवाल है और उत्तर अब तक अच्छे हैं – SyntaxT3rr0r

+0

@ वेबिनेटर: प्रोग्रामिंग से संबंधित नहीं, हालांकि शायद यह बेहतर फिट होगा: http://bit.ly/ProgrammersQA - http://programmers.stackexchange.com/ – OscarRyz

+0

जब आप एक हैलो वर्ल्ड लिखना चाहते हैं। – irreputable

उत्तर

20

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

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

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

+1

या, ओपी के शीर्षक में प्रश्न का उत्तर देने के लिए: "विंडोज डेवलपर अनुकूल नहीं है, बस COM देखें।" – amphetamachine

+0

मैंने विंडोज़ पर आधे जीवन के लिए विकसित किया है और कभी भी COM से संबंधित किसी भी चीज़ से निपटना नहीं था। यह नहीं कह रहा कि यह दुखी नहीं है (दूसरों ने सौदा किया है), लेकिन अगर हम सहमत हैं कि विंडोज dev दोस्ताना नहीं है, तो यह अधिकांश भाग के लिए उपयोगकर्ता के अनुकूल है, और देव उपयोगकर्ता हैं। – Manius

+1

वह भारी नहीं: http://www.vim.org/scripts/script.php?script_id=1785 – idbrii

4

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

ईक्लीप्स के माध्यम से विम के माध्यम से उपयोग करना संभव है (देखें Eclim - http://eclim.org/) लेकिन यह अभी भी विकास में है और स्थापित करने के लिए अस्थिर या कठिन हो सकता है।

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

+0

मैं यूनिक्स पर पांच वर्षों से दूरस्थ रूप से विकास कर रहा हूं (वीएनसी का उपयोग कर रहा हूं) और इसे विकास के लिए वीआई से उपयोग करना बेहतर लगता है। हालांकि,/etc/hosts जैसे यादृच्छिक फ़ाइलों को संपादित करने के लिए, मैं अभी भी vi का उपयोग करता हूं। इंटेलिजे, नेटबीन्स और एक्लिप्स का उपयोग करने के बाद, मैं केवल इंटेलिजे का उपयोग करता हूं क्योंकि यह संपादित करने और प्रतिक्रिया करने के लिए अच्छा है। –

+0

मुझे समझ में नहीं आ रहा है कि क्यों किसी को ** सीधे स्रोत बनाने के लिए स्रोत कोड तक पहुंचने के लिए ** की आवश्यकता होगी (एकीकृत स्रोत कोड संस्करण जैसी चीजों का लाभ लेना) और बस एक FTP या कुछ अन्य तैनाती प्रक्रिया कर रहे हैं? (जब तक वे सीधे उत्पादन सर्वर या कुछ पागल पर छोटे बदलाव नहीं कर रहे हैं, लेकिन यह सामान्य नहीं हो सकता है।) – Manius

+0

@ क्रूसर: मुझे लगता है कि कभी-कभी आपको सटीक वातावरण में विकसित होने की आवश्यकता होती है जिसमें आपका प्रोग्राम काम करेगा। –

1

विंडोज़ के लिए जीवीआईएम डाउनलोड करें, यह वास्तव में लिनक्स समकक्ष जैसा ही लगता है।

1

विम कई प्रोग्रामिंग भाषाओं के लिए सिंटैक्स हाइलाइटिंग भी करता है। यह, कीबोर्ड शॉर्टकट के साथ, ग्रहण लॉन्च करने और प्रासंगिक फ़ाइल पर जाने से मामूली कोड परिवर्तन करने के लिए यह एक बेहतर टूल बनाता है।

+0

ग्रहण शुरू करने में बहुत लंबा समय लग सकता है, लेकिन ऐसा परिवर्तन करने के बाद मैं हमेशा स्रोत नियंत्रण में जांच करना चाहता हूं, इसलिए मैं प्रतीक्षा करने के लिए तैयार हूं ज्यादातर समय कुछ अतिरिक्त सेकंड। (सुनिश्चित नहीं है कि वीम एसवीएन के साथ एकीकृत करता है) – Manius

2

vi संपादक कमांड लाइन वातावरण में * अधिकतर "उपयोगकर्ता द्वारा उपयोग किया जाता है उदाहरण के लिए यदि यूनिक्स/लिनक्स बॉक्स से कनेक्ट करने का एकमात्र विकल्प टेलनेट/एसएसएच क्लाइंट के माध्यम से होता है।

यदि आपकी क्लाइंट मशीन/डेस्कटॉप उदाहरण के लिए है, तो जेनोम या केडीई आदि के साथ लिनक्स, आप हमेशा ग्रहण प्रकार के वातावरण पसंद करेंगे जो आपको परियोजनाओं को बनाने और प्रबंधित करने, कोड भंडारों के कनेक्शन, एकाधिक फ़ाइलों के माध्यम से आसान नेविगेशन जैसी समृद्ध सुविधाएं प्रदान करते हैं। डीबगिंग इत्यादि

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

vi या emacs बहुत समृद्ध प्रोग्रामिंग उपकरण हैं। आप कुंजी संयोजन आधारित आदेशों के साथ नेविगेशन और संपादन के लगभग किसी भी राजा कर सकते हैं। लेकिन वे उनके साथ काम करने के लिए थोड़ा मुश्किल हैं और यहां तक ​​कि यदि आप एक विशेषज्ञ हैं, तो भी कई फाइलों पर काम करना और बड़ी परियोजनाएं मेरे अनुभव के अनुसार मुश्किल हैं।

लेकिन विंडोज मशीन पर वीआई का उपयोग करना बहुत दुर्लभ है और यदि कोई ऐसा करता है, तो मैं पीछे कारण नहीं सोच सकता।

+0

मैं ऐसी कंपनी में काम करता हूं जहां प्रोग्रामर का आधा हिस्सा अपने कोड और विजुअल स्टूडियो को डीबग करने के लिए जीवीआईएम का उपयोग करता है। या तो दूसरे में फ्लिप करने के लिए एक कीस्ट्रोक। –

+0

लेकिन क्यों? यही सवाल है कि मैं पूछ रहा हूँ। विशेषताओं या क्षमताओं को विशेष रूप से यह कैसे प्रेरित करता है? (इसके अलावा वीएस जावा नहीं है, इसलिए यह थोड़ा सा विषय है, लेकिन फिर भी एक दिलचस्प सवाल है।) – Manius

8

जब आप एक शक्तिशाली "पाठ संपादक" करने के लिए उपयोग किया जाता है यह विम या Emacs (यहाँ कोई flamewars), यह समय पर हो सकता है बहुत मुश्किल एक "कम" पाठ संपादक द्वारा प्रदान की लोगों की तरह उपयोग करने के लिए, हो सकता है विभिन्न आईडीई द्वारा डिफ़ॉल्ट।

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

समस्या है, amphetachine ने बताया के रूप में: केवल vim या Emacs का उपयोग कर जावा विकास करने के लिए पाषाण युग में रह रहे हैं की तरह लगता है।

दोनों दुनिया के सर्वश्रेष्ठ में मेरे आईडीई के केंद्र में "टेक्स्ट एडिटर" Emacs (या vim) होगा और फिर भी सभी चमकदार रीयल-टाइम त्रुटियों/चेतावनी, कोड-पूर्णता, कोड ट्रैवर्सल और व्हाट्सॉट्स की सुविधा होगी अच्छा जावा आईडीई है।

पुनश्च: यहाँ एक +7 वोट दें है, 4 पसंदीदा सवाल मैं कैसे हमेशा जावा Emacs और IntelliJ विचार के बीच (या अन्य उस बात के लिए फ़ाइलें) सिंक करने के लिए के रूप में पूछा:

Emacs: Often switching between Emacs and my IDE's editor, how to automatically 'synch' the files?

+0

आपको विशेष रूप से (फीचर्स) क्या करना है जो आईडीई में नहीं किया जा सकता है? – Manius

+1

@ क्रूसर: विम में अपनी नियमित अभिव्यक्ति का निर्माण करना आसान है (एक्सेसेर्क के साथ जो ग्रहण में सक्षम है जब regex सक्षम है)। चयनित टेक्स्ट को सॉर्ट करना भी तेज़ है (या किसी भी कमांड लाइन फ़िल्टर जैसे सॉर्ट, grep, या comm) में चयन पास करें। इसके अलावा विम मैक्रोज़। – idbrii

+0

@ क्रूसर: लंबे समय के बाद टिप्पणी कर रहा है ... मूल रूप से यदि आप पूछते हैं कि Emacs को इंटेलिजे या ग्रहण की पेशकश क्यों करनी है, तो यह नहीं है कि आपने कभी ** ** ** Emacs का उपयोग नहीं किया है;) गंभीरता से। – SyntaxT3rr0r

2

this सवाल का जवाब देखें: प्लग इन की विम के भीड़ के बावजूद

, कुछ भी भाषा-अवगत रिफैक्टरिंग और आधुनिक आईडीई की कोडिंग क्षमताओं के करीब आता है।

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

2

मैं एक कट्टर vim उपयोगकर्ता था, लेकिन मैं ग्रहण पर स्विच कर दिया।

इसके लिए दो vi plugins/keybindings हैं। एक मुफ़्त है, दूसरा वाणिज्यिक है। मैंने वाणिज्यिक को प्राथमिकता दी: कुछ चीजों के लिए बेहतर काम करना प्रतीत होता है।

ग्रहण बहुत सी चीजें कर सकता है जो gvim नहीं कर सकता (या उन्हें आसान बना सकता है)।

संकलन/डिबगिंग/चलाना।
बिल्ड वातावरण स्थापित करना।
जावाडॉक्स, कोड समापन, आदि रिफैक्टरिंग, स्रोत नियंत्रण प्लून्स, कोड आयोजन।
परियोजना सेटअप, आदि। अन्य डेवलपर्स के साथ एक परियोजना साझा करना आसान है। एफओएसएस जावा परियोजनाओं के बहुत सारे आसान सेटअप के लिए ग्रहण फाइलें हैं।

बस कुछ नाम देने के लिए।

संबंधित मुद्दे