2012-03-08 19 views
6

जब जावास्क्रिप्ट संपादन, मैं आमतौर पर यह करने के लिए है:विम और कोष्ठक के साथ खरोज/धनुकोष्ठक

function myFunc() { 
    // func body here 
} 

मैं स्वतः और vrackets जैसे कुछ ब्रैकेट बंद होने वाले प्लग-इन की कोशिश की है, लेकिन जब मैं की तरह कोड करने के लिए आते हैं ऊपर, वे सभी ऐसा करते हैं:

function myFunc() {<CR> 
    |<CR> 
} 
01:

function myFunc() {<CR> 
|} 

मैं कैसे जब मैं नई लाइन के लिए जाने के विम ब्रैकेट से पहले एक डालें, और इसलिए की तरह ठीक से कर्सर को इंडेंट कर सकते हैं

क्या कोई प्लगइन या ऐसा कुछ है जो ऐसा करता है?

+0

[delimitMate] (https://github.com/Raimondi/delimitMate) प्लगइन इस आईआईआरसी के लिए एक विकल्प प्रदान करता है। –

+0

@ रैंडी: मेरा vim कॉन्फ़िगर शापित या कुछ होना चाहिए। delimitMate सीआर विस्तार नहीं करेगा ... – hayavuk

+1

हालांकि यह धागा काफी पुराना है, फिर भी मैं उस डिलीमिट को जोड़ना चाहूंगा मेरे पास ऐसा करने का विकल्प होगा: बस अपने .vimrc में 'g g: delimitMate_expand_cr ​​= 1' जोड़ें। अधिक विकल्पों के लिए ': delimitMate मदद करें 'देखें। – jasperge

उत्तर

2

मैं अपने ~/.vimrc में इस लाइन है:

inoremap <C-Return> <CR><CR><C-o>k<Tab> 
+0

एक कारण या किसी अन्य कारण से, यह मेरे लिए कुछ भी नहीं करता है ... प्लगइन के साथ एक संघर्ष हो सकता है। – hayavuk

+0

बताना मुश्किल है। आपका मतलब क्या है "यह मेरे लिए कुछ नहीं करता"? क्या यह कुछ करता है? क्या? – romainl

+0

मेरा मतलब है कि इससे कोई फर्क नहीं पड़ता कि मेरे पास vimrc में है या नहीं ... जो अजीब है। मेरा अनुमान है कि कुछ प्लगइन मानचित्रण को ओवरराइड करता है। – hayavuk

1

मैं शायद आधार से बाहर निकल सकता हूं, लेकिन क्या आपने संक्षेप में कमांड का उपयोग करने का प्रयास किया है?

:ab {} {<cr>}<esc>ko 
बेशक

, मैं पर smartindent है और मैं {} टाइप करने के लिए इसके पूर्ण होने की है, लेकिन यह मेरे लिए काम करता है।

+0

इतना करीब है, लेकिन जब मैं ब्रैकेट ऑटो-क्लोजिंग करता हूं तो काम नहीं करता है ... मैं एक अलग-अलग संक्षेप बना सकता हूं, जैसे 'fnc' और स्टॉप-गैप समाधान के रूप में आपके पास जो कुछ है, उसका विस्तार करें। अगर कोई बेहतर समाधान के साथ नहीं आता है, तो मैं उसके साथ जाऊंगा। – hayavuk

0

आप पूरे समारोह के नक्शे की कोशिश की है, इस तरह के रूप

inoremap ,4 function() {}<left><enter><esc>O

6

मैं स्वतः के साथ संयोजन में इस मानचित्रण का उपयोग करें:

inoremap {<CR> {<CR>}<C-o>O 

कोई विशेष कुंजी संयोजन की आवश्यकता नहीं है।

+0

हाँ, मैंने पाया है कि आप वास्तव में प्रश्न पोस्ट करने के कुछ महीनों जैसे कुंजी संयोजन को मानचित्र बना सकते हैं। – hayavuk

+0

आखिर में यह मेरे लिए किया, और मैं इसे विम-ऑटोक्लोज के साथ भी उपयोग करता हूं। – dmonopoly

1

Auto Pairs बॉक्स से बाहर निकलने का तरीका काम करता है।

+0

बहुत बढ़िया, धन्यवाद! – hayavuk

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