Answers:
| 指示光标位置
func(foo[0], bar(), |baz.spam)
脚步:
dt)
将删除 baz.spam
Ff
将光标移至字符f foo[0]
vt,p
将删除foo [0]并替换为 baz.spam
$P
将foo [0]粘贴在括号之前<,
和>,
)。cx
在正常模式和X
视觉模式)。NA
。g<
和g>
)。cia
“更改参数”。❤️
我介绍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所指出的,OP希望最后一个参数为第一个参数,并将所有其他参数正确移动。
function func(foo[0], bar(), baz.spam|, qux->norf)
脚步:
dw
删除 ,␣
dt)
删除最后一个参数%p
跳转到左括号并粘贴最后一个参数a,␣
插入逗号和空格<Esc>
返回正常模式或者,如果您不想退出正常模式:
"rdw
删除,␣
到寄存器r
dt)
删除最后一个参数%p
跳转到左括号并粘贴最后一个参数"rp
粘贴寄存器内容 r