मैं 3 विधियाँ प्रस्तुत करता हूँ। पहले दो विशेष मामले हैं, जिन्हें कम कीस्ट्रोक्स की आवश्यकता होती है। अंतिम एक सामान्य है।
|
कर्सर स्थिति का प्रतिनिधित्व करता है।
आसन्न तर्क स्वैप करें (पिछले दो के लिए काम नहीं करता है)
function func(foo[0], |bar(), baz.spam, qux->norf)
कदम:
dW
वर्तमान शब्द हटाएं (तर्क)
W
अगले तर्क के पहले चार पर जाएं
P
कर्सर से पहले पेस्ट करें
अंतिम दो तर्क स्वैप करें
function func(foo[0], bar()|, baz.spam, qux->norf)
कदम:
dt,
अगले कॉमा तक हटाएं
E
अगले तर्क के अंतिम चरित्र पर जाएं
P
कर्सर से पहले पेस्ट करें
किन्हीं दो तर्कों को स्वैप करें
function func(|foo[0], bar(), baz.spam, qux->norf)
कदम:
vt,d
अल्पविराम तक हटाएं
W
कई बार जब तक आप उस तर्क तक नहीं पहुंच जाते, जिसे आप स्वैप करना चाहते हैं
gP
पेस्ट करने से पहले पेस्ट करें और पेस्ट की गई सामग्री के बाद कर्सर को कर्सर पर रखें
dt,
अगले कॉमा तक हटाएं की जगह ,
से )
अगर यह अंतिम तर्क है
`<
अंतिम दृश्य क्षेत्र की शुरुआत पर वापस जाएं (कर्सर अल्पविराम पर रखा जाएगा)
P
कर्सर से पहले पेस्ट करें
संपादित करें: जैसा कि @ aharris88 द्वारा इंगित किया गया है कि ओपी चाहता है कि अंतिम तर्क पहले हो और बाकी सभी सही हों।
तर्क को दाईं ओर घुमाएं
function func(foo[0], bar(), baz.spam|, qux->norf)
कदम:
dw
हटाना ,␣
dt)
अंतिम तर्क हटाएं
%p
कोष्ठक खोलने और अंतिम तर्क पेस्ट करने के लिए कूदो
a,␣
अल्पविराम और स्थान डालें
<Esc>
सामान्य मोड पर लौटें
या, यदि आप कभी सामान्य मोड नहीं छोड़ना चाहते हैं:
"rdw
,␣
एक रजिस्टर में हटा देंr
dt)
अंतिम तर्क हटाएं
%p
कोष्ठक खोलने और अंतिम तर्क पेस्ट करने के लिए कूदो
"rp
रजिस्टर की सामग्री पेस्ट करें r
बोनस: प्रत्येक मामले के लिए एक GIF:
swap1 , swap2 , swap3 और घुमाएं