vim php 缩进,使用Vim修正HTML和PHP的缩进

使用Vim修正HTML和PHP的缩进

我一直在使用Vim,并且无法在PHP文件中获得正确的HTML缩进。

例如,我想要的是为每个孩子缩进一个标签多于它的父母,如下所示。

Uniform Size
  • S
  • M
  • L
  • XL
<?php } ?>

使用PHP-correct-Indent脚本,代码的格式如下:

Uniform Size
  • S
  • M
  • L
  • XL
<?php } ?>

即使使用缩进的HTML,然后添加PHP代码,缩进也会被忽略,移动HTML代码的新行,而不会有任何缩进。

那么,有没有什么办法可以使用Vim来获取我想要在PHP文件中使用HTML的缩进格式呢?

这仍然困扰着我。 我只是认为最好的解决办法(对我个人而言)是这样的:

:set filetype=html

然后突出显示您的文字并点击= 。 繁荣! HTML格式的成功。 (不太理想,我知道,但至less是有效的。)

在Vim Wiki上有一组vimrc指令,叫做HTML的更好的缩进支持 ,它将根据块使用正确的插件。

还有一个Vundle / Pathogen插件 ,使用相同的代码,但更容易安装,并保持您的.vimrc干净。

病原

cd ~/.vim/bundle git clone https://github.com/captbaritone/better-indent-support-for-php-with-html.git

Vundle

放在.vimrc中

Bundle 'captbaritone/better-indent-support-for-php-with-html'

在vim中运行

:BundleInstall

在php + html中,我发现以下对我有好处。

:set ft=html # Change the file type to html =G # to indent all lines :set ft=phtml # Change the file type to phtml =G # to indent all php lines

对我来说,如果我第一次做的话,它会很好用:set ft=html ,然后:set syn=php 。

php-correct-indenting只关心你的PHP,并假设HTML的可读性是没有意义的。 XML压缩器可以很好地定位标签,但不能缩进处理指令的内容以匹配。 也许有一个缩进脚本可以理解PHP编程语言的类C语法和[X] [HT] ML标记语言是模板化的,但我从来没有遇到过。

不过,即使在php-correct-indenting之前,我也想要在你的例子中缩进缩进!

元素在外部的if语句中,但我无法从缩进中看到。 我build议像这样的东西:
Uniform Size
  • etc. etc.
<?php } ?>

支持HEREDOC html样式。 这经常发生在我的代码中。

顺便说一句:它有更多的版本比旧的(脚本ID 604,亚历克斯贴在上面)

在你的.vimrc里面:

:function IndentPHPHTML() : set ft=html : normal gg=G : set ft=php :endfunction

使用Ctrl-Shift-L(或其他)缩进

nnoremap :call IndentPHPHTML()

在寻找解决scheme的日子之后,没有任何工作,最后这工作,添加到您的vimrc

au BufEnter,BufNew *.php :set filetype=html

在~/.vimrc文件中:

set expandtab set sw=4 set ts=4

expandtab选项将制表符转换为空格, sw选项将你的位移宽度设置为4, ts设置制表位为4个空格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值