我有一个文字
int strlindex(char s[], char t[]) {
我想换成
int strlindex(char s[], char t[]);
使用Vim
。我试过了
%s/\{$/;/g
但无济于事。有什么想法吗?
答案 0 :(得分:3)
也许你在{
%s/{\s*$/;/g
答案 1 :(得分:3)
我从你问题的代码中看到的是,你想要这样做:
:%s/\s*{\s*$/;/
一些注释
{
(very magic
)\v
{
之前有一个空格,显然您希望在结果中删除它。所以我们需要在\s*
{
{
和$
之间可能还有空格。所以我添加了另一个\s*
g
标记,一行只有一个$
%
之前有一个s/../../
它会在整个文件中替换它。如果具有此结构的正常函数,则将删除{
。 在替换后进行双重检查,以确保它不会破坏您的代码。 答案 2 :(得分:2)
通常在Vim中,正则表达式{
是一个文字括号,不需要转义。这适用于magic
和non-magic
正则表达式(例外情况是指定very-magic
选项 - 有关详细信息,请参阅help: magic
。
所以这会奏效:
%s/{$/;/g
答案 3 :(得分:1)
此处不需要转义,%s/{$/;/g
工作正常。