Al refactorizar el código, sería útil poder intercambiar argumentos de función.
Cambio por ejemplo:
func(foo[0], bar(), baz.spam)
dentro
func(baz.spam, foo[0], bar())
¿Hay alguna manera de intercambiar argumentos a la izquierda / derecha, manteniendo los paréntesis y las comas en su lugar?
Tenga en cuenta que esto podría ser bastante complicado si desea tener en cuenta los argumentos que son llamadas a funciones con sus propios argumentos, por ejemplo: func(baz->spam, foo[0], bar(a, b, c))
apoyar estos casos probablemente implicaría un análisis más completo.
cia
"cambiar de argumento". ❤️Les presento 3 métodos. Los dos primeros son casos particulares, que requieren menos pulsaciones de teclas. El último es genérico.
|
representa la posición del cursor.Intercambie argumentos adyacentes (no funciona para los últimos dos)
Pasos:
dW
eliminar la palabra actual (argumento)W
ir al primer char del siguiente argumentoP
pegar antes del cursorIntercambia los dos últimos argumentos
Pasos:
dt,
eliminar hasta la próxima comaE
ir al último personaje del siguiente argumentoP
pegar antes del cursorIntercambia dos argumentos
Pasos:
vt,d
eliminar visualmente hasta comaW
varias veces hasta llegar al argumento con el que desea intercambiargP
pegue antes del cursor y coloque el cursor en el carácter después del contenido pegadodt,
eliminar hasta la próxima coma. reemplazar,
por)
si este es el último argumento`<
volver al comienzo de la última área visual (el cursor se colocará en la coma)P
pegar antes del cursorEditar: como señaló @ aharris88, el OP quiere que el último argumento sea el primero y mover todos los demás a la derecha.
Rotar argumentos a la derecha
Pasos:
dw
Eliminar,␣
dt)
eliminar el último argumento%p
saltar a paréntesis de apertura y pegar el último argumentoa,␣
inserte una coma y espacio<Esc>
volver al modo normalO, si no quieres salir del modo normal:
"rdw
eliminar,␣
en un registror
dt)
eliminar el último argumento%p
saltar a paréntesis de apertura y pegar el último argumento"rp
pegar contenido del registror
Bonificación: un GIF para cada caso: intercambio1 , intercambio2 , intercambio3 y rotación
fuente