Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用shell脚本对齐C代码_Shell - Fatal编程技术网

使用shell脚本对齐C代码

使用shell脚本对齐C代码,shell,Shell,一个不同的问题出现了 假设我有以下代码库。 现行守则如下 int main() { /*Commented Added by abc int abc; */ /* Code Added by abc */ int def; } 我希望新的代码如下 int main() { /*Commented by abc int abc; */ /* Added by abc */ int def; } 在上面的示例中没有实际的代码更改。但是,根

一个不同的问题出现了

假设我有以下代码库。 现行守则如下

int main() { 
/*Commented Added by abc
    int abc; */
/* Code Added by abc */
    int def; 
}
我希望新的代码如下

int main() { 
    /*Commented by abc
    int abc; */
    /* Added by abc */
    int def; 
}

在上面的示例中没有实际的代码更改。但是,根据添加的新代码,注释被正确地对齐。也就是说,我搜索了ABC添加的新代码行,并根据这一行的对齐方式对齐了前几行


现在,我正在处理庞大的代码库,手动修改这些代码几乎是不可能的。请提供建议,说明如何以最简单的方式实现这一目标。

这种粗略的方式如何:

VIMINIT='call feedkeys("gg=G:wq\<CR>")' vi myFile.c
VIMINIT='callfeedkeys(“gg=G:wq\”)vi myFile.c

可以将C文件转换为统一的样式,并提供许多选项-其中一些选项与放置注释有关。

可能请参见:-答案涵盖其他平台,例如有这样做的工具;它们不是shell脚本,而是理解大量C语法的主要C程序。您已经提到了
缩进
;这只是众多事件中的一个<代码>样式是另一种
uncrustify
是另一种
cb
(C美化器)是原版(第7版)™) 这类程序,但您将很难找到它,如果找到它,您可能不会想要它。请注意,
vim
通常可以使用(
=
命令)。此外,更改最好不要保存在源代码中,而是保存在您正在使用的版本控制系统中-您正在使用一个,不是吗?正确的做法是删除注释并使用VCS。