2008-10-31 15 views
178

मैं विम का आदी हूं, अब यह टेक्स्ट फ़ाइलों को संपादित करने का मेरा वास्तविक तरीका है।जावा आईडीई के रूप में विम का उपयोग करने के लिए टिप्स?

ऐसा होने के नाते यह मुख्य रूप से एक टेक्स्ट एडिटर है और आईडीई नहीं है, क्या किसी के पास जावा ऐप्स विकसित करते समय इसे आसान बनाने के लिए मेरे लिए कोई चाल है?

कुछ सवाल मेरे पास है:

  • मैं कैसे vi छोड़े बगैर किसी Maven कार्य आह्वान करते हैं?
  • क्या मुझे कोड पूरा हो सकता है?
  • सिंटैक्स हाइलाइटिंग कैसा है?

कुछ और ("ऐसा मत करो!") के अलावा मुझे पता होना चाहिए?

+1

मैं काम पर बड़े पैमाने पर नेटबीन का उपयोग करता हूं, लेकिन घर पर अपने व्यक्तिगत सर्वर के लिए ... नेटबीन का उपयोग करके अच्छा काम नहीं करता है क्योंकि मुझे किसी अन्य कंप्यूटर पर अपना विकास करना होगा और फिर तैनाती करना होगा। राउंड ट्रिप बहुत लंबा है। –

+0

@AdamC इनबाउंड Google से ... एक स्व-भर्ती कमांड लाइन गीक के रूप में अजगर से आ रहा है, मुझे लगता है कि जावा विकास पर्यावरण के साथ सेटअप करने में प्रवेश करने के लिए अवरोध * ऐसे * कार्यक्रमों की आवश्यकता के द्वारा उठाया गया है। मुझे पहले से ही JVM इंस्टॉल करना होगा ... एक हैलो वर्ल्ड जाने के लिए किसी को भी और अधिक इंस्टॉलेशन क्यों करना चाहिए? यह केवल सामान्य स्वभाव है जो स्क्रिप्टिंग भाषाओं से आ रहे हैं, जब पहली बार जावा सीखना होगा। – DeaconDesperado

+2

जब मैं वीआईएम में संपादन कर रहा हूं। कंसोल पर वापस जाने के लिए आप केवल ctrl + z कर सकते हैं जो पृष्ठभूमि में vim डाल देगा और आपको कंसोल पर वापस लाएगा। फिर आप अपने अग्रभूमि –

उत्तर

68

कुछ युक्तियां:

  • सुनिश्चित करें कि आप vim (vi सुधार) का उपयोग करें। लिनक्स और यूनिक्स सिम्लिंक वीआई के कुछ संस्करणों के साथ vim।
  • आप eclim
  • साथ कोड पूर्णता प्राप्त कर सकते हैं या आप viPlugin
  • सिंटेक्स हाइलाइटिंग के साथ ग्रहण के भीतर vi कार्यक्षमता प्राप्त कर सकते हैं vim के साथ महान है
  • विम/maven बनाता
  • चींटी चल तरह थोड़ा मैक्रो लिखने के लिए अच्छा समर्थन हासिल है

है मज़ा :-)

+6

कमांड। : मदद java.vim –

+2

एक्लिप्स के भीतर विम कार्यक्षमता प्राप्त करने का एक और तरीका है [Vrapper] (http://vrapper.sourceforge.net/home/)। इसमें अधिकांश विम कुंजी बाइंडिंग हैं और viPlugin के विपरीत यह मुफ़्त है। – n1te

+1

एक डीबगर के बारे में कैसे कदम उठाने, चरणबद्ध, आदि का समर्थन करता है? – Donato

4

विम का उपयोग करें।^-^(जीवीआईएम, सटीक होना)

आपके पास यह सब कुछ होगा (कुछ प्लगइन के साथ)।

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

20
  • मैं वीआई छोड़ने के बिना एक मेवेन कार्य कैसे शुरू करूं?

    Maven किसी अन्य शेल कमांड से अलग नहीं है:

    :!mvn

    आप :set makeprg=mvn कर सकते हैं आप पहले से ही :make के लिए एक पसंदीदा कुंजी मानचित्रण है।

  • क्या मुझे कोड पूरा हो सकता है?

    हां, eclim महान है, विम की संपादन दक्षता और ग्रहण की जावा भाषा-विशिष्ट जागरूकता के बीच एक पुल है।

    <C-n> और <C-p> बहुत बढ़िया नहीं हैं, लेकिन आश्चर्यजनक रूप से सहायक हैं।

  • सिंटैक्स हाइलाइटिंग कैसा है?

    रेगेक्स-आधारित हाइलाइगर के लिए पर्याप्त पर्याप्त से अधिक।

आप अन्य vim + जावा प्रयोजनों के लिए, कोड टेम्पलेट्स (snippetEmu — डिफ़ॉल्ट के टुकड़े चूसना, लेकिन customizability चमकता है) की तरह के लिए उपकरण पर विचार करने के उपयोगों के लिए खोज और घोषणाओं (eclim, ग्रेप, ctags) करने के लिए जा सकते हैं, गेटर्स और सेटर्स (java_getset, या एक्लिम) उत्पन्न करना, स्वचालित आयात (एक्सीम)। आपको त्वरित प्रयोगों के लिए जावा शैल की भी आवश्यकता हो सकती है (BeanShell, ए.के.ए. bsh)।

+1

बीनशेल टिप के लिए धन्यवाद, मुझे उस उपकरण के बारे में पता नहीं था – GoingTharn

29

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

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

इसके अलावा एक टिप:

:set path=** 
:chdir your/project/root 

यह एक बड़ी परियोजना नेविगेट करने के लिए एक classname पर ^wf बनाता है एक बहुत अच्छी सुविधा।

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

चीजस्ट्रोक के साथ एक लापता आयात जोड़ने जैसी चीजें, टाइपिंग मुद्दों के साथ हाइलाइट कोड इत्यादि, एक बड़ी जावा प्रोजेक्ट पर काम करते समय आपके आईडीई से अमूल्य लगता है।

+5

"^ wf" के लिए वोट दें मुझे नहीं पता था कि विम में ऐसी चीज है :) –

+3

क्या आप समझा सकते हैं^wf के बारे में अधिक? यह क्या करता है? – user2427

+1

यह जावा फ़ाइल/क्लास (फ़ाइल नाम एक्सटेंशन '.java' की आवश्यकता नहीं है) कर्सर के नीचे एक नई स्प्लिट विंडो में अगर यह फ़ाइल ढूंढने में सक्षम है। यही कारण है कि 'सेट पथ = **' सहायक है। – exic

7

मैं जानता हूँ कि यह काफी कुछ साल बाद, लेकिन यहाँ कुछ रोचक प्लगइन्स कर रहे हैं। मैंने इनमें से किसी भी कोशिश की है तो वाईएमएमवी।

https://github.com/mikelue/vim-maven-plugin

https://github.com/vim-scripts/maven-ide

संपादित करें: ओह एक BTW, मैं कोशिश की है eclim बंद और है, लेकिन कारण मैं vim तरह अपने हल्कापन है। हेडलेस मोड पर ग्रहण निष्पादित करना मेरे लिए बहुत अधिक मानसिक भारोत्तोलन है।

EDIT2: मैं playframework हाल ही में उपयोग कर रहे हैं और यह शायद Maven के साथ काम करेंगे भी बनाता है:

  • संकलन के लिए, आप मेरी मामले में Maven या चलाने के लिए विम के मेकअप कॉन्फ़िगर कर सकते हैं, एक निर्माण को चलाने लिपि, एक फाइल के लिए टी।

    autocmd Filetype java setl makeprg=play_compile 
    autocmd Filetype java setl efm=%A\ %#[error]\ %f:%l:\ %m,%-Z\ %#[error]\ %p^,%-C%.%# 
    

"play_compile" सिर्फ एक संकलन स्क्रिप्ट है। यह एसबीटी का उपयोग करता है इसलिए मैवेन को यहां ठीक काम करना चाहिए। यहां तक ​​कि प्रत्यक्ष जावैक भी काम करेगा। । इस तरह, आप विम का उपयोग कर सकते "रों QuickFix बफर (: cnext,: clist: cprev, आदि)

  • वर्गों के आसपास कूद के लिए, मैं ctrl-p का उपयोग अपने सुंदर इसका इस्तेमाल ग्रहण की तुलना में तेजी से।।। फ़ाइलों के आसपास कूद में।

  • तरीकों चारों ओर कूद के लिए, मैं Ctrl-] का उपयोग करके विपुल सी टैग के साथ tagsearch का उपयोग करें। विधि घोषणाओं में कूद। Ctrl-ओ का उपयोग कर वापस जाएँ। Does not को ग्रहण के रूप में रूप में अच्छा काम करते हैं, लेकिन यह काफी अच्छा काम करता है।

  • मैं आप कोड पूर्ण होने के लिए supertab। Javacomplete बहुत धीमी है, तो मैं omni पूर्ण से चिपक गया। फिर, ग्रहण के रूप में सटीक नहीं, लेकिन यह तेज़ और मेरे लिए काफी अच्छा काम करता है।

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