आप दृश्य मोड छोड़कर और अपना वर्तमान चयन खोए बिना कैसे इंडेंट करते हैं?


16

मुझे अक्सर मैन्युअल रूप से इंडेंट करना पड़ता है, लेकिन जब मैं एक विज़ुअल मोड में प्रवेश करता हूं, तो इंडेंट करने के लिए अपनी लाइनें चुनें और दबाएं <या >, मैं विज़ुअल मोड छोड़ देता हूं कि मैं चाहे या नहीं।

मेरे पास ऐसा नहीं होता इसलिए मैं दृश्य मोड में रहता हूं, और अपने चयन और कर्सर की स्थिति को बरकरार रखता हूं।

इसे कैसे प्राप्त किया जा सकता है?


1
क्या कोई मौका है कि रीमेकिंग ट्रिक करेगी? कुछ पसंद है :vmap < <a?
फेफी

जवाबों:


19

मैं अपने vimrc में यह है:

"keep visual mode after indent
vnoremap > >gv
vnoremap < <gv

ध्यान दें कि आप .अंतिम इंडेंट कार्रवाई को दोहराने के लिए बस (डॉट) का उपयोग कर सकते हैं ।


लगभग सही है, सहेजें कि मेरा कर्सर पंक्ति के साथ नहीं चलता है।
अकिवा

1
@ अकिवा शायद आप ^उस मैपिंग के अंत में जोड़ना चाहते हैं ? यानी >gv^?
मार्टिन टूरनोइज

2
कर्सर इंडेंटेड टेक्स्ट के संबंध में अपनी स्थिति के आधार पर चलता है (या नहीं)। यह मेरे लिए स्पष्ट नहीं है कि आप कर्सर कहाँ रखना चाहते हैं: एक ही कॉलम नंबर पर, या एक ही वर्ण पर? इसके अलावा, आप जानते हैं कि आप अभी भी साथ कर्सर जैसे स्थानांतरित कर सकते हैं j, k, lआदि, जबकि में दृश्य मोड?
वैनलेसर

2
ईमानदारी से, मैंने अभी <Right>और <Left>आज्ञाओं के बाद, और यह ठीक काम किया।
अकिवा

9

मुझे पता है कि यह एक स्वचालित समाधान नहीं है, लेकिन आप gvदृश्य इंडेंट के बाद इसका उपयोग करके इसे पूरा कर सकते हैं ।

यह पिछले चयन के साथ दृश्य मोड में जाएगा, और अंतिम पंक्ति में आपका कर्सर। :h gvअधिक जानकारी के लिए देखें ।


-2

मैंने अपने vimrc में निम्नलिखित मानचित्रण जोड़ने की कोशिश की:

vmap < <a
vmap > >a

यह दिलचस्प परिणाम लगता है, हो सकता है कि आप क्या देख रहे हैं?

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