我有一些琴弦,
void RationalNum::setNumerator(int n)
{
numer = n; // I changed the parameter name to avoid confusion with the member
cout << "in setNumer, the numer is: " << numer << endl;
//reduce(newNumer); //Not using yet
}
我想要它的输出,
- astropy=3.1.2=py36h7b6447c_0
- ptyprocess=0.6.0=py36_0
- qt=5.9.7=h5867ecd_1
- xlwt=1.3.0=py36h7b00a1f_0
- lzo=2.10=h49e0be7_2
我当时想阻止这些字符串和- astropy==3.1.2=py36h7b6447c_0
- ptyprocess==0.6.0=py36_0
- qt==5.9.7=h5867ecd_1
- xlwt==1.3.0=py36h7b00a1f_0
- lzo==2.10=h49e0be7_2
+ shift
并将:
更改为=
。但是还有另一个==
符号。因此,我想知道如何在数字字符前添加=
符号。
答案 0 :(得分:6)
似乎您的问题是您只想更改第一个等号,而不更改第二个等号。
您可以使用Vim的替代命令来做到这一点。 默认情况下,该命令将仅更改任何给定行中的第一个匹配项,因此您希望保持这种方式。
为您执行此操作的实际命令为:
:%s / = / ==
有关更多信息,您可以通过运行以下命令来阅读命令的帮助:
:help:s
如果要在数字前更改=的所有值(以回答原始问题),可以将搜索模式更改为先有一个等号然后是一个数字,并在第一个等号之前添加另一个等号。这种替代看起来像这样:
:%s / = \ d / =&/ g
要分解上一个命令:
%
-在整个文件上运行命令。
s
-运行替代命令
/
-启动搜索模式。
=
-查找等号字符。
\d
-查找任何数值(1、143、94 ...)
/
-开始替换值。
=
-在返回值后加上等号。
&
-将搜索模式附加到更改后的值。
/g
-全局运行此命令,这意味着更改所有匹配项,而不仅仅是每行中的第一个匹配项。