【发布时间】:2015-10-10 03:01:30
【问题描述】:
我发现自己经常做的事情是在两个括号之间拉出文本并将其粘贴到另一对括号上。例如:
foo(int a, int b, int c)
bar(int d, int e)
变成
foo(int a, int b, int c)
bar(int a, int b, int c)
在 Vim 中是否有一种快速的方法可以从 foo 中提取文本并将其粘贴到 bar 中的文本上?
【问题讨论】:
我发现自己经常做的事情是在两个括号之间拉出文本并将其粘贴到另一对括号上。例如:
foo(int a, int b, int c)
bar(int d, int e)
变成
foo(int a, int b, int c)
bar(int a, int b, int c)
在 Vim 中是否有一种快速的方法可以从 foo 中提取文本并将其粘贴到 bar 中的文本上?
【问题讨论】:
拉出第一对括号的内容:
yib
可视化选择第二对括号的内容并放入:
vibp
【讨论】:
一种方法是 yi) 在 foo 的参数中,"_di)P 在 bar 的参数中。
yi) 拉出括号内的文本
"_di)P使用空寄存器删除括号内的文字并粘贴文字,vi)p也可以,避免空寄存器
唯一改变的是函数名,所以你也可以直接拉下该行并使用cw(更改单词)将 foo 更改为 bar。
【讨论】:
将光标移到foo 的第一个括号上,然后使用y% 拉出所有文本,直到匹配的括号。 (如果您更喜欢直观地查看您正在拖动的文本,也可以使用 v%y。)
然后将光标放在bar 的第一个括号上,然后使用v%p。它选择文本直到匹配的括号然后粘贴在它上面。
【讨论】:
【讨论】:
使用它转到最后一个括号shift + 5。
第一个括号按两次 5。
【讨论】: