我发现自己经常做的事情是将两个括号之间的文本拉到另一对括号上。例如:
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中取出文本并将其粘贴到栏中的文本上?
答案 0 :(得分:9)
Yank第一对括号的内容:
yib
直观地选择第二对括号的内容并放置:
vibp
答案 1 :(得分:8)
在foo的参数中有yi)
,在bar的参数中有"_di)P
。
yi)
将文本放在括号内
"_di)P
使用空寄存器删除括号内的文本并粘贴文本,vi)p
也可以工作并避免空寄存器
唯一改变的是函数名称,所以你也可以只是抽出一行并使用cw
(更改单词)将foo更改为bar。
答案 2 :(得分:4)
将光标移到foo
的第一个位置,然后使用y%
将所有文本拉到匹配的paren之前。 (如果您希望直观地看到您正在阅读的文字,也可以使用v%y
。)
然后将光标移到bar
的第一个位置,然后使用v%p
。它选择文本直到匹配的paren然后粘贴它。
答案 3 :(得分:0)