2012-02-28 8 views
10

में आसपास के व्हाइटस्पेस को हटाएं मैं कंसोलिस के साथ शब्दों को घेरने के लिए भयानक https://github.com/tpope/vim-surround प्लगइन का उपयोग कर रहा हूं, उदाहरण के लिए मैं अक्सर उपयोग करता हूं: viws<space><space> रिक्त स्थान वाले शब्द को घेरने के लिए।विम

जो मैं याद कर रहा हूं वह इसके विपरीत है, यानी, एक शब्द के आस-पास की जगहों को हटा देना।

मेरे लिए सबसे आम उपयोग कोड शैली के आधार पर foo (bar) बनाम foo (bar) जैसे फ़ंक्शन तर्क हैं।

क्या कोई इसे करने का एक अच्छा तरीका जानता है?

+0

'डी एस ' काम करता है? README एक उदाहरण पर '' डिलीमीटर 'को हटाने के लिए एक तंत्र के रूप में' डीएस 'प्रदान करता है। – sarnold

+0

दुर्भाग्यवश यह नहीं है। हालांकि अच्छा अवलोकन। –

+1

मुझे यह अजीब लगता है कि आपको 'viws ' तीर कुंजियों और बैकस्पेस का उपयोग करने सहित सभी विकल्पों की तुलना में एक सरल समाधान होने का आदेश मिलता है! – puk

उत्तर

11

नोट: इस समाधान को प्रश्न में संदर्भित चारों ओर प्लगइन की आवश्यकता है।

cs() 

यह foo(bar) को foo(bar) बदलता है, हालांकि, यह नहीं आपकी समस्या का एक सामान्य समाधान है:

आप निम्न कर सकता है अपने विशिष्ट स्थिति के लिए

+1

सुरुचिपूर्ण प्रकार .. अजीब लेकिन सुरुचिपूर्ण :) –

+0

क्या करना है? यह मेरे लिए कुछ भी नहीं करता – puk

+1

यदि आपके पास ओपी में उल्लिखित प्लगइन नहीं है तो यह अपेक्षित नहीं करेगा।चारों ओर, 'सीएसएक्सवाई' का कहना है कि "आस-पास के पात्रों एक्स को आस-पास के पात्रों के साथ बदलें", '(' को 'पैडिंग स्पेस के साथ आसपास के कोष्ठक "के रूप में परिभाषित किया गया है, और' '' को 'पैडिंग के बिना आसपास के कोष्ठक के रूप में परिभाषित किया गया है) अंतरिक्ष "। –

3

शायद सामान्य मोड में BXElx हो सकता है।

+0

या 'बीएक्सएफ x' – puk

4

मैं अक्सर विम प्लगइन्स की खोज में उत्पादक रूप से विलंब करता हूं, जब मैं इसके लिए मैपिंग को परिभाषित कर सकता हूं।

nnoremap <leader>dd F<space>xf<space>x 

संपादित अधिक जानकारी उपयोगकर्ता परिभाषित मैपिंग के लिए

  • <leader> आम कुंजी (, एक अच्छा एक है)

  • dd संयोजन का उपयोग करने के लिए (किसी अन्य स्मरक एक पर्याप्त होगा)

  • ,210 खोज पीछे की ओर एक अंतरिक्ष के लिए, तो यह

  • f<space>x खोज आगे एक स्थान के लिए निकालें, तब हटाने यह

+0

हाहा ... हाँ ... :) –

1

वास्तव में, मेरे लिए एकदम सही समाधान @puk द्वारा प्रदान की मानचित्रण है, लेकिन का उपयोग कर कुंजी @ कर्नाल्ड पहली जगह में अपेक्षित थी (यदि इसे कार्यान्वित किया गया तो चारों ओर प्लगइन से क्या उम्मीद होगी)।

यह वह जगह है:

nnoremap ds<space> F<space>xf<space>x