在Vim中格式化PHP代码

时间:2009-05-13 13:15:06

标签: php vim code-formatting tidy

我目前正在使用Vim作为轻量级IDE。我有NERDTree,bufexplorer,supertab和ctags插件,它们几乎我想要的一切。对我来说,唯一遗漏的是自动代码格式化。

我正在处理一些混乱的PHP代码,这些代码具有不一致的缩进和代码格式,理想情况下我可以突出显示我想要格式化的代码(整个文件也可以)并运行命令来整理它。

有没有人在Vim工作中有一个很好的解决方案?

5 个答案:

答案 0 :(得分:61)

在vim中修复PHP缩进的快速方法是使用 shift - v 在视觉上选择要使用的行,然后按equals( = )触发自动格式化。

至于其他格式问题,您可能正在考虑使用一些正则表达式搜索和替换,例如:%s/^M/\r/g(即 ctrl - V ctrl - m ,而不是插入符号 - M )来修复行结尾

答案 1 :(得分:10)

在vim中输入普通模式,然后输入

1GVG=

答案 2 :(得分:9)

PSR-2风格的格式

对于新标准Coding Style Guide PSR-2,请使用PHP-CS-Fixer

有一个Vim插件:Vim-php-cs-fixer

如何安装:

安装PHP-CS-Fixer(全局Composer):

composer global require friendsofphp/php-cs-fixer

然后添加Vim插件(Pathogen):

cd ~/.vim/bundle
git clone git@github.com:stephpy/vim-php-cs-fixer.git

重启Vim。

默认映射:

<leader>pcd " For directory
<leader>pcf " For flie

答案 3 :(得分:8)

有一个vim插件可以在vim中对代码进行格式化。它被称为vim-autoformat,您可以阅读它并在此处下载:

https://github.com/Chiel92/vim-autoformat

它将外部代码格式化程序集成到vim中。安装此插件时,您只需安装外部代码格式化程序即可开箱即用。它支持php格式化程序 phpCB ,这是迄今为止我见过的最好的PHP格式化程序。

UPDATE:由于代码中断行为,不再支持phpCB。但是,vim的indentfile总是用作后备,允许您在没有格式化程序时至少缩进代码。

答案 4 :(得分:2)

vim website并不是最容易导航的,但那里有很多耐嚼的牛轧糖中心。

例如,我在那里找到了this php indenting script。试一试。