我目前正在使用Vim作为轻量级IDE。我有NERDTree,bufexplorer,supertab和ctags插件,它们几乎我想要的一切。对我来说,唯一遗漏的是自动代码格式化。
我正在处理一些混乱的PHP代码,这些代码具有不一致的缩进和代码格式,理想情况下我可以突出显示我想要格式化的代码(整个文件也可以)并运行命令来整理它。
有没有人在Vim工作中有一个很好的解决方案?
答案 0 :(得分:61)
在vim中修复PHP缩进的快速方法是使用 shift - v 在视觉上选择要使用的行,然后按equals( = )触发自动格式化。
至于其他格式问题,您可能正在考虑使用一些正则表达式搜索和替换,例如:%s/^M/\r/g
(即 ctrl - V ctrl - m ,而不是插入符号 - M )来修复行结尾
答案 1 :(得分:10)
在vim中输入普通模式,然后输入
1GVG=
答案 2 :(得分:9)
对于新标准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。试一试。