我对VIM还是个新手。我得到了一些源代码,这是一团糟。乍一看,我希望至少能对代码有一个清晰而有条理的了解,所以我想让它正确地格式化,我的意思是根据函数的深度缩进。
我想知道是否可以使用VIM来完成这项工作,除此之外,您还可以推荐其他哪些命令行工具来实现这一点。
谢谢
发布于 2010-03-24 18:44:20
虽然vim是一个真正的瑞士刀,但我仍然更喜欢外部工具来做一些工作。这种方法有时比使用内置的等价物更直观、更容易记忆。
在缩进的情况下,我通过astyle过滤整个文件缓冲区。在几分钟内掌握astyle参数要容易得多,特别是如果你不是vim专家的话。此外,astyle在微调输出方面提供了更多的灵活性。
首先安装astyle:
# apt-get install astyle
然后在vim中:
:%!astyle (简单大小写--默认模式为C/C++)
或
:%!astyle --mode=c --style=ansi -s2 (ansi C++样式,每个缩进级别使用两个空格)
或
:1,40!astyle --mode=c --style=ansi (ansi C++样式,仅过滤第1-40行)
发布于 2010-03-24 18:18:25
您可以执行以下操作:
gg=G发布于 2015-01-08 16:22:20
我强烈推荐如今的clang格式。一旦安装了clang-format,它就可以简单地将clang-format集成到Vim中:
http://clang.llvm.org/docs/ClangFormat.html#vim-integration
它是唯一一个真正理解你的C++代码的代码美化器,美化代码更像一个人而不是一个机器是非常聪明的。例如:
void TestFunction(int argument1, int argument2,
int argument3);
void TestFunctionVeryLongName(int argument1,
int argument2,
int argument3);
void TestFunctionWithRidiculouslyLongName(
int argument1, int argument2, int argument3);https://stackoverflow.com/questions/2506776
复制相似问题