从命令行或 vim 格式化多个文件

从命令行或 vim 格式化多个文件

是否有命令行实用程序可以格式化来自不同编程语言的多个文件?

我在想这样的事情:

format --indentation=spaces --size=2 --trim-whitespaces ./*.{php,js,cpp,sh}

如果这样的命令不存在,那么在 Vim 中该怎么做呢?要在正常模式下格式化单个文件,它是gg=G.但是多个文件怎么办?

答案1

您可以在批处理模式下使用 vim:

vim -c "normal gg=G" -c "x"  x.py

这将gg=G在正常模式下调用命令,然后x(保存并退出)命令。对于多个文件,您可以使用 glob 创建简单的循环:

for i in ./*.{php,js,cpp,sh}; do
    vim -c "normal gg=G" -c "x" $i
done

相关内容