2009-06-21 10 views
13

जब कोड लिखकर, मैं सामान्य रूप से करीब कोष्ठक, वापस अंदर, बाहर जाना, जाना होगा प्रकार अर्धविराम, आदि:कोड लिखते समय तीर कुंजियों के उपयोग को कम करने के लिए कैसे?

मैं के साथ शुरू हो सकता है (| है कैरट):

System.out.println()| 

फिर छोड़ दिया जाना:

System.out.println(|) 

फिर इस:

System.out.println(foo()|) 

फिर पीछे एक अंतरिक्ष ing:

System.out.println(foo(|)) 

लिखने से उद्धरण समान हैं:

System.out.println(foo(""|)) 

... आदि।

मेरा दाहिना हाथ लगातार घर की पंक्ति और तीर कुंजी के बीच चल रहा है। मैंने विम की कोशिश की है और हालांकि मैं मूल बातें जानता हूं, फिर भी यह मेरे लिए बहुत अजीब लगता है।

मुझे यह कैसे करना चाहिए? क्या मुझे बस बाएं से दाएं टाइप करना चाहिए (ब्रैकेट खोलना, फिर सामग्री, फिर बंद ब्रैकेट, फिर अर्धविराम)?

धन्यवाद।

+1

विम निरंतर उपयोग के साथ tamed किया जा सकता है। –

उत्तर

10

सबसे पहले और सबसे महत्वपूर्ण, तीर कुंजियों के बजाय h, j, k और l का उपयोग करके विम में बहुत अधिक गति प्राप्त की जा सकती है। चाबियों के अवलोकन के लिए Learning Vim the Pragmatic Way देखें।

हालांकि, आप इस मामले में शायद क्या चाहते हैं AutoClose प्लगइन है। यह स्वचालित रूप से उद्घाटन के साथ समापन कोष्ठक (या उद्धरण) डालता है, और उनके बीच की देखभाल करता है। इस प्रकार आप

System.out.println(foo("|")) 

को

System.out.println(foo(|)) 

को

System.out.println(|) 

से जाना आप तो लिखते हैं, तो ")), कैरट "पर ले जाने" के बजाय नए लोगों को डालने के समापन अक्षर। हालांकि, लाइन के अंत तक पहुंचने का एक तेज़ तरीका शायद <Esc>A है।

System.out.println(foo("")); 

तो, योग करने के लिए, ऊपर System.out.println(foo("<Esc>A; टाइप करके उत्पादन किया जा सकता।

जोड़े गए वर्णों को संपादित करने के विपरीत, surround.vim देखें।

+0

+1। यदि आप विम के साथ रहना चाहते हैं तो मुझे लगता है कि यह एक अच्छा विकल्प है (प्लगइन मारियस के लिए धन्यवाद!) –

5

यदि आप पहले से ही विम में हैं, तो एच, जे, के, और एल कुंजी के साथ खेलने का प्रयास करें। वे तीर कुंजी के समान काम करते हैं लेकिन अधिक सुविधाजनक होते हैं। क्रम में टाइप करने की आदत पाने की कोशिश करने से शायद मदद मिलेगी, लेकिन ऐसा कुछ है जो कुछ प्रयास करता है।

+0

मैं बस यही सुझाव देने वाला था। :-) –

+1

यह सही है, लेकिन हो सकता है कि आप हाथों को बदलकर और बदलकर दूसरे हाथ से खोने वाले दाहिने हाथ से क्या हासिल कर सकें। –

+1

कम से कम इसमें केवल मोड बदलना शामिल है - कुछ भी करने के लिए एस्केप मेटा वैकल्पिक नियंत्रण शिफ्ट जैसे हिट कुंजियों के लिए अपने हाथ को अलग नहीं करना। –

2

मैं पूरी तरह से vim की सिफारिश करता हूं ... क्योंकि इससे बहुत मदद मिलेगी! साथ ही, उस चीज़ को देखें जो आपके लिए अपने कोष्ठक, स्क्वायर ब्रैकेट और घुंघराले ब्रैकेट को स्वतः बंद कर देगा ... मेरे पास विम में कुछ है जो ऐसा करता है और यह इस प्रकार की समस्या से मदद करता है क्योंकि मैं पहले से ही कंस्ट्रैसिस के अंदर हूं।

6

ठीक है, यह जावा है, यदि आप कम या ज्यादा अच्छा आईडीई का उपयोग करते हैं, तो आप स्वतः पूर्ण करने में सक्षम होना चाहिए, इस तरह जब आप "System.out.println" टाइप करते हैं और स्वत: पूर्ण स्वीकार करने के लिए एंटर दबाते हैं, तो ब्रैकेट दिखाई देंगे और देखभाल मध्य में होगी (ओह, और उद्धरण भी होंगे!)

3

मत करो।

आपके द्वारा शुरू की गई कुछ चीज़ों को समाप्त करने की आपकी आदत - चाहे वह समापन कोष्ठक, ब्रैकेट, ब्रेस, या .lose() कॉल करने के लिए कॉल हो। ओपेन(), या हटाएं/अपने नए/malloc से मेल खाने के लिए मुफ्त कॉल - एक उत्कृष्ट है। यहां तक ​​कि यदि आप अपने ऑब्जेक्ट को एक अलग दायरे (जैसे टर्मिनेशन फ़ंक्शन) में "बंद" करना चाहते हैं, तो भी आपकी आदत आपको संसाधनों को ठीक से जारी करने के बारे में सोचने के लिए मजबूर करती है।

हां, सहायक संपादक हैं जो आपको तेजी से कोड करने की अनुमति देते हैं, जिन्हें आपको निश्चित रूप से उपयोग करना चाहिए, लेकिन उन्हें एक क्रच नहीं बनने दें जो आपको ऑब्जेक्ट्स/रिलीज संसाधनों को बंद करने की अनुमति देता है।

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

+0

उह, क्या? सुनिश्चित नहीं है कि आपका क्या मतलब है – Lucky

4

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

1

विम के लिए एक और वोट। इसके अलावा, वीआई कीबाइंडिंग का उपयोग करने वाले अधिक मानक आईडीई के लिए कुछ बेहतरीन प्लगइन्स हैं। मैं समय-समय पर नेटबीन्स में jVI का उपयोग करता हूं।

आप पाएंगे कि जितना अधिक आप विम का उपयोग करेंगे, उतना आसान यह आपके कलाई पर होगा। आपको यह भी पता चलेगा कि पर्याप्त चालाक खोज/प्रतिस्थापन आपको कुछ कीस्ट्रोक बचा सकता है, जैसा कि वैश्विक क्रिया regex-y चीज हो सकती है।

बाइंड: टैबन और: किसी भी चीज़ को सुलभ करने के लिए टैबप करें और बिना किसी उचित जीयूआई संपादक का उपयोग करके सामान प्राप्त करने के लिए मजबूर करें।

1

मैं पूरी तरह से रैखिक रूप से टाइप करता था (हां, विम में), कभी भी पीछे की ओर झुकाव नहीं कर सकता था कि तुरंत बंद तत्वों को लिखना।

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

1

मुझे लगता है कि संख्या पैड नेविगेशन को बहुत आसान बनाता है क्योंकि घर और पीजीप कुंजी बहुत करीब हैं। वास्तव में टाइपिंग नंबरों के लिए आप बस कीबोर्ड की शीर्ष पंक्ति का उपयोग करते हैं (जो है सीखना मुश्किल है, लेकिन थोड़ी देर के बाद पर्याप्त तेज़ है)

मेरे लिए इसका एकमात्र डाउनसाइड्स लैपटॉप कीबोर्ड का उपयोग कर रहा है और अन्य लोगों की मशीनों का उपयोग कर रहा है जहां मुझे हर बार अंक लॉक बंद करना होगा।

1

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

निश्चित रूप से ग्रहण में एक प्रिंटल के लिए आप केवल sysout टाइप कर सकते हैं लेकिन शायद यह एक बुरी आदत है।

लेकिन सावधान रहें! आप बहुत जल्दी मिलता है, तो अपने सहयोगियों हमेशा आप ड्राइव कर देगा: पी

3

कोशिश AutoHotkey और मेरी स्क्रिप्ट:

*!I::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Up}" 
*!K::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Down}" 
*!J::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Left}" 
*!L::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Right}" 
*!U::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Home}" 
*!O::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{End}" 
*!h::SendInput, % (GetKeyState("Shift", "P") ? "+" : "") (GetKeyState("Ctrl", "P") ? "^" : "") "{Del}" 

LAlt & शिफ्ट :: ('वैकल्पिक लाइन')

यह LAlt पकड़े के बारे में है + से कुछ दबाकर: i, k, j, l (तीर कुंजी), u, o (घर, अंत) या एच (हटाएं)। यदि आप कीबोर्ड लैंग को बदलना नहीं चाहते हैं तो अंतिम पंक्ति वैकल्पिक है। LAlt + Shift

द्वारा लेआउट आप इसे शिफ्ट और ctrl जैसे संशोधकों के साथ संयोजन में भी उपयोग कर सकते हैं।

आनंद लें;)

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