2011-03-15 7 views
27

मेरे सामान्य विम कार्य प्रवाह है:मैं विम वर्तनी की गलतियों को तेज़ कैसे कर सकता हूं?

  • डालने मोड में, कुछ गलत वर्तनी।

    Vim spell

  • प्रेस ^X s कुछ सुझाव प्राप्त करने के लिए।

    Vim screen

  • Esc दबाएं पहले एक स्वीकार करने के लिए।

इस के बाद, मैं जहाँ मैं पहले था की डालने मोड के बजाय लाइन के बीच में आदेश मोड में हूँ,। मैं A का उपयोग कर सकता था, लेकिन यह केवल तभी काम करता है जब मैं लाइन के अंत में टाइप कर रहा था। क्या कोई वैकल्पिक तरीका है? सबसे अच्छा, मुझे एक ऐसा आदेश चाहिए जो कर्सर को घुमाने के बिना पहले सुझाव के लिए अंतिम गलती को सुधारता है।

उत्तर

20

यह काफी अच्छी तरह से काम करता है: पिछले वर्तनी की गलती के लिए

imap ^L <Esc>[s1z=`]a 

[s चाल
1z= पिछले डालने बिंदु
a टेक्स्ट संलग्न करने

+0

इस मैपिंग का आह्वान कैसे किया जाता है? मैंने डालने मोड में '^ एल' इनपुट करने का प्रयास किया लेकिन यह काम नहीं करता है। – yegle

+0

'^ एल' का उपयोग करने के लिए कोई विशेष कारण? परंपरागत रूप से, वर्तनी जांच को 'पर मैप किया गया है। हालांकि, 'एफ 10' पहले से ही जीवीआईएम द्वारा उपयोग में प्रतीत होता है, इसलिए मैं अंततः विशिष्ट' 'माइक्रोसॉफ्ट वर्तनी जांच बाध्यकारी के लिए बस गया। –

+0

@ सेर्जस्ट्रोबैंड 'एल' होम पंक्ति पर है। इसके अलावा मैक को डिफ़ॉल्ट रूप से f10 प्राप्त करने के लिए fn + f10 की आवश्यकता होती है, हालांकि इसे आसानी से बदला जा सकता है। –

8

मैं 'इष्टतम' समाधान नहीं दे सकता (हालांकि मुझे संदेह है कि एक तरीका है)।

हालांकि, अगर आप जीमैं फ़ाइल जहां पिछले छोड़ दिया में जगह पर डालने के मोड में प्रवेश करने के लिए उपयोग कर सकते हैं। (help gi यह और अधिक स्पष्ट रूप से बताता है)।

+0

उसे नहीं पता था, धन्यवाद! – Tim

+0

ऐसा लगता है कि यह एएससी है जो डालने मोड छोड़ देता है। इस प्रकार, 'जी' इस मामले में मदद नहीं करेगा। – Tim

+0

आह, इसके बारे में खेद है ... मुझे पोस्ट करने से पहले इसे आजमाया जाना चाहिए था। नीचे आपका नक्शा वैसे भी चाल चल रहा है (माना जाता है कि आपको हमेशा पहले सुझाए गए वर्तनी की आवश्यकता है)। –

2

आप एक पॉपअप मेनू में एक तत्व को स्वीकार करने के Ctrl +वाई उपयोग कर सकते हैं। :help complete_CTRL-Y देखें।

+0

जो मेरे कर्सर को सम्मिलित मोड में रखता है, लेकिन सम्मिलित शब्द के ठीक बाद, जहां मैं था। – Tim

2

मैंने इसे अपने .vimrc में निम्नलिखित रीमेप के साथ तय किया।

imap <F2> <Esc>mti<C-X>s<Esc>`tla 

डालने मोड में F2 दबाएँ पिछले गलती सुधारने और मोड तुम कहाँ थे डालने के लिए वापस जाने के लिए। यह t मार्कर को ओवरराइट करता है।

25

एक सुधार करने के लिए पहला सुझाव
`] कदम चुनता है पीडीयूजी के उत्तर में: वर्तनी सुधार को सम्मिलन से अलग से हटाने योग्य बनाने के लिए, इसका उपयोग करें:

imap <c-l> <c-g>u<Esc>[s1z=`]a<c-g>u 

<c-g>u पूर्ववत ब्रेक
सम्मिलित करता है बाकी ही है।

इस तरह, यदि आप चुने गए सुधार को पसंद नहीं करते हैं, तो आप इसे <Esc>u का उपयोग करके पूर्ववत कर सकते हैं। पूर्ववत ब्रेक के बिना, यह पूर्ण सम्मिलन पूर्ववत कर देगा। ध्यान दें कि मैपिंग के अंत में पूर्व-ब्रेक यह सुनिश्चित करता है कि सुधार के बाद जोड़ा गया पाठ सुधार से अलग से पूर्ववत किया जा सके।

इसके अलावा, मैं यह सुविधाजनक को यह मैप करने के लिए मिल गया CTRL + एफ दोनों डालने और इस तरह सामान्य मोड में (जो पहुंचना आसान है):

imap <c-f> <c-g>u<Esc>[s1z=`]a<c-g>u 
nmap <c-f> [s1z=<c-o> 

इस तरह, आप जल्दी से कर सकते हैं अंतिम त्रुटि (कर्सर के सापेक्ष) को ठीक करें।

+0

आपको बहुत बहुत धन्यवाद। – tito11

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