Ketika refactoring kode akan berguna untuk dapat bertukar argumen fungsi.
Mengubah misalnya:
func(foo[0], bar(), baz.spam)
ke
func(baz.spam, foo[0], bar())
Apakah ada cara untuk menukar argumen ke kiri / kanan, menjaga tanda kurung fungsi dan koma di tempat?
Catatan, ini bisa menjadi sangat terlibat jika Anda ingin menjelaskan argumen yang mereka sendiri panggil fungsi dengan argumen mereka sendiri - misalnya: func(baz->spam, foo[0], bar(a, b, c))
- mendukung kasus-kasus ini mungkin melibatkan beberapa penguraian yang lebih komprehensif.
cia
untuk "mengubah argumen". ❤️Saya menyajikan 3 metode. Dua yang pertama adalah kasus-kasus tertentu, yang membutuhkan sedikit penekanan tombol. Yang terakhir adalah generik.
|
mewakili posisi kursor.Tukar argumen yang berdekatan (tidak berfungsi untuk dua yang terakhir)
Langkah:
dW
hapus Word saat ini (argumen)W
pergi ke karakter pertama dari argumen berikutnyaP
rekatkan di depan kursorTukar dua argumen terakhir
Langkah:
dt,
hapus sampai koma berikutnyaE
pergi ke karakter terakhir dari argumen berikutnyaP
rekatkan di depan kursorTukar dua argumen
Langkah:
vt,d
hapus secara visual sampai komaW
beberapa kali hingga Anda mencapai argumen yang ingin Anda tukarkangP
rekatkan sebelum kursor dan tempatkan kursor pada char setelah konten yang disisipkandt,
hapus sampai koma berikutnya. ganti,
dengan)
jika ini argumen terakhir`<
kembali ke permulaan area visual terakhir (kursor akan ditempatkan di koma)P
rekatkan di depan kursorSunting: seperti yang ditunjukkan oleh @ aharris88 OP ingin argumen terakhir menjadi yang pertama dan memindahkan yang lainnya dengan benar.
Putar argumen ke kanan
Langkah:
dw
menghapus,␣
dt)
hapus argumen terakhir%p
lompat ke membuka tanda kurung dan tempel argumen terakhira,␣
masukkan koma dan spasi<Esc>
kembali ke mode normalAtau, jika Anda tidak ingin meninggalkan mode normal:
"rdw
hapus,␣
ke dalam registerr
dt)
hapus argumen terakhir%p
lompat ke membuka tanda kurung dan tempel argumen terakhir"rp
rekatkan konten registerr
Bonus: GIF untuk setiap kasus: swap1 , swap2 , swap3 dan rotate
sumber