【发布时间】:2011-05-27 05:08:39
【问题描述】:
老实说,我实际上对此有一个解决方案,但是 Google 搜索从这个网站上为我找到了很多很棒的提示,所以我不得不回馈一些东西。这是我想出的。对于单行:
s/^\(\s\+\)\(.*\) = \(.*\);/\1\3 = \2;/
对于从当前行开始的多行,添加.,.+<line count>。例如:
.,.+28s/^\(\s\+\)\(.*\) = \(.*\);/\1\3 = \2;/
将替换当前行和接下来的 28 行。这也应该适用于 Java 和 Perl。对于 Python,请从模式和替换中省略结束分号(除非您是使用可选分号的那类人)。
在输入所有内容后,我发现我确实有一个问题。有没有办法简化它,所以我没有那么多转义字符?
【问题讨论】:
-
我不认为我曾经交换过作业的左手和右手...
-
我正在为一些(非常不优雅的)C 代码编写一些单元测试,并且需要保留和恢复全局变量。写完preserve函数后,把lhs和rhs互换,restore函数写起来就容易多了。
标签: java c++ python vim variable-assignment