34

我目前使用 Vim 作为轻量级 IDE。我有 NERDTree、bufexplorer、supertab 和 ctags 插件,它们几乎可以满足我的所有需求。对我来说唯一缺少的是自动代码格式化。

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

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

4

5 回答 5

73

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

至于其他格式问题,您可能正在考虑使用一些正则表达式搜索和替换,例如:%s/^M/\r/g(that's ctrl- V ctrl- m, not caret- M) 来修复行尾

于 2009-05-13T13:20:45.080 回答
16

vim进入普通模式,然后输入

1GVG=
于 2011-11-14T12:01:58.063 回答
10

PSR-2 格式的格式

对于新标准编码风格指南 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
于 2015-07-09T10:46:38.923 回答
8

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

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

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

更新:由于代码破坏行为,不再支持 phpCB。但是,vim 的 indentfile 始终用作备用,允许您至少在没有可用的格式化程序时缩进您的代码。

于 2012-12-06T23:02:32.573 回答
2

vim 网站不是最容易浏览的,但那里有大量耐嚼的牛轧糖中心。

例如,我在那里找到了这个 php 缩进脚本。试试看。

于 2009-05-13T14:11:19.930 回答