क्या विम में लाइनों को विभाजित करने की आज्ञा है?


15

विम में, Jकुंजी दो रेखाओं को एक साथ जोड़ती है। क्या एक नई रेखा (कर्सर की स्थिति में, या समान) के साथ लाइनों को विभाजित करने के लिए एक समान, अंतर्निहित, महत्वपूर्ण संयोजन है?

वैकल्पिक रूप से, ऐसा करने के लिए एक प्रमुख संयोजन को परिभाषित करने का सबसे मजबूत तरीका क्या होगा (सामान्य मोड में, मोड नहीं डालें)?


इन्हें भी देखें : stackoverflow.com/questions/624821/vim-split-line-command
dreftymac

जवाबों:


16

नहीं, इसके लिए कोई अंतर्निहित कमांड नहीं है।

जब मैं एक पर विभाजित करना चाहता हूं <Space>, तो मैं करता हूं r<CR>

--- संपादित करें ---

@ कीथ-निकोलस की टिप्पणी ने मुझे इस सवाल की याद दिला दी। FWIW मैं इस समय में एक उम्मीद "सार्वभौमिक" विधि के साथ आया था:

function! BreakHere()
    s/^\(\s*\)\(.\{-}\)\(\s*\)\(\%#\)\(\s*\)\(.*\)/\1\2\r\1\4\6
    call histdel("/", -1)
endfunction

nnoremap <key> :<C-u>call BreakHere()<CR>

4
का उपयोग कर r<CR>बस चालाक है! धन्यवाद!
मार्सेलो

1
यह बहुत अच्छा है! सुपर कष्टप्रद डालने लाइनों में डालने के लिए जा रहा है
कीथ निकोलस

मैंने पाया s<CR>कि इंडेंटेशन रहता है जबकि r<CR>नहीं।
टोक्सिफा

5

a Enter Escकर्सर के दाईं ओर या i Enter Escबाईं ओर विभाजित होने के लिए विभाजित करने के लिए।


1
बस इतना ही। बस एक ही नई लाइन डालें। वैकल्पिक रूप से: कर्सर को एक नई रेखा के साथ बदलने के लिए r + <वापसी> का उपयोग करें। इसके लिए एक ही अक्षर कमांड रखना अच्छा होगा, लेकिन जहां तक ​​मुझे पता है कि एक नहीं है।
टन

2

वीम में लाइनों को विभाजित करने का सबसे आसान तरीका सामान्य मोड कमांड है gq(सामान्य या विज़ुअल मोड में त्वरित उत्तराधिकार में दोनों अक्षर टाइप करें):

  • दृश्य मोड में, जो कुछ भी चुना गया है, वह विभाजित हो जाएगा।
  • सामान्य मोड में, आप gqएक प्रस्ताव के साथ पालन करते हैं।

उदाहरण के लिए, gqlवर्तमान में निर्धारित चौड़ाई में एक पंक्ति को विभाजित करेगा। अपनी वर्तमान सेटिंग से अलग होने के लिए विभाजित लाइनों की चौड़ाई निर्धारित करने के लिए, आप उपयोग कर सकते हैं

:set textwidth=<n>

जहाँ आप एक पंक्ति में n = वर्ण चाहते हैं, उदाहरण के लिए, 10, और जब आप कर रहे हों तो अपनी सामान्य चौड़ाई में वापस बदल दें।

Kholidfu द्वारा एक Youtube वीडियो की इस जानकारी को प्राप्त किया गया है जिसमें दिखाया गया है कि गति का उपयोग करके सामान्य मोड में लाइनों को कैसे जोड़ा और विभाजित किया जाए: Vim Tutorial - Join and भाजित लाइनें


1

आप अपने स्वयं के मानचित्र का उपयोग करके परिभाषित कर सकते हैं। उदाहरण के लिए z को कमांड के रूप में परिभाषित करने के लिए:

:map z i<CTRL+m>

0

आप एक मैक्रो रिकॉर्ड कर सकते हैं:

रिकॉर्ड शुरू करने के लिए "q +" टाइप करें। "i" दबाएं, जिस मैक्रो को आप रिकॉर्ड करना चाहते हैं। फिर रिकॉर्डिंग बंद करने के लिए फिर से "q" दबाएं।

मैक्रो का उपयोग करने के लिए सामान्य मोड पर जाएं और "@ + अक्षर" टाइप करें।

मेरे मामले में मैंने इस मैक्रो का उपयोग करने के लिए "बी" का उपयोग किया: सामान्य मोड में टाइप करने के लिए "क्यूबिक" को सामान्य मोड में टाइप करने के लिए "@ बी"

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.