假设我在 someRandomFile.js 中有一个 JavaScript,并且我想要运行如下命令:
formatMyCode someRandomFile.js
然后,在文件内部,它会以一种很好的方式缩进所有内容。
我也想格式化 PHP 或 HTML。在 VIM 中,您可以突出显示一些文本并按 =,它会自动格式化它(即使它是混合的 HTML/PHP/JavaScript)。有没有简单的方法可以做到这一点?
答案1
如果你喜欢 vim您可以从命令行调用其操作。
echo -e "G=gg\n:wq\n" | vim ./myfile.php
警告上述命令将在没有提示的情况下修改你的文件。先备份。
可以找到集成的示例,以find
在一堆文件上完成相同的工作[0]。
除此之外,还可以找到很多为此构建的实用程序,并且这个数字还会随着时间的推移而不断增长;您可以在互联网上搜索它们的更新版本,例如可以从以下位置开始:
答案2
vim -c "execute 'normal! =G' | :wq! out.js" input.js
您也可以使用替代语法+
代替-c
。效果是一样的。
vim +"execute 'normal! =G' | :wq! out.js" input.js
它执行常规命令
=G
,该命令将自动格式化/缩进(=
)每一行直到文件结束(G
)。然后
:wq! out.js
将其写入文件并退出 vim。如果您只想覆盖同一个文件,请删除out.js
。
~/.vimrc
此外,为了使自动格式化缩进插件正常工作,您需要在您的代码中添加以下行:
filetype plugin indent on
答案3
使用 eslint,你可以
eslint --fix someRandomFile.js
也适用于 JSON 文件。对于 HTML,请考虑https://stackoverflow.com/questions/2191989/a-command-line-html-pretty-printer-making-messy-html-readable。