我目前使用 Vim 作为轻量级 IDE。我有 NERDTree、bufexplorer、supertab 和 ctags 插件,它们几乎可以满足我的所有需求。对我来说唯一缺少的是自动代码格式化。
我正在处理一些混乱的 PHP 代码,这些代码的缩进和代码格式不一致,理想情况下,我可以突出显示我想要格式化的代码(整个文件也可以)并运行命令来整理它。
有没有人有一个很好的解决方案在 Vim 中工作?
我目前使用 Vim 作为轻量级 IDE。我有 NERDTree、bufexplorer、supertab 和 ctags 插件,它们几乎可以满足我的所有需求。对我来说唯一缺少的是自动代码格式化。
我正在处理一些混乱的 PHP 代码,这些代码的缩进和代码格式不一致,理想情况下,我可以突出显示我想要格式化的代码(整个文件也可以)并运行命令来整理它。
有没有人有一个很好的解决方案在 Vim 中工作?
shift在 vim 中修复 PHP 缩进的快速方法是使用-直观地选择要使用的行v,然后按等于 ( =) 触发自动格式化。
至于其他格式问题,您可能正在考虑使用一些正则表达式搜索和替换,例如:%s/^M/\r/g
(that's ctrl- V ctrl- m, not caret- M) 来修复行尾
vim进入普通模式,然后输入
1GVG=
对于新标准编码风格指南 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
有一个 vim 插件可以在 vim 中对您的代码进行格式化。它被称为 vim-autoformat,你可以在这里阅读并下载它:
https://github.com/vim-autoformat/vim-autoformat
它将外部代码格式化程序集成到 vim 中。安装此插件后,您只需安装外部代码格式化程序即可让所有内容开箱即用。它支持 php 格式化程序phpCB,这是迄今为止我见过的最好的 php 格式化程序。
更新:由于代码破坏行为,不再支持 phpCB。但是,vim 的 indentfile 始终用作备用,允许您至少在没有可用的格式化程序时缩进您的代码。
vim 网站不是最容易浏览的,但那里有大量耐嚼的牛轧糖中心。
例如,我在那里找到了这个 php 缩进脚本。试试看。