Making Vim auto-indent PHP/HTML using alternative syntax
- by njbair
I edit PHP in Vim and have enjoyed the auto-indenting, but PHP's alternative syntax doesn't auto-indent how I would like. For instance, in an HTML template, Vim doesn't recognize the open control structure in the same way it does when using braces. Example:
<html>
<body>
<p>
<?php if (1==1): ?>
This line should be indented.
<?php endif; ?>
</p>
</body>
</html>
I want Vim to recognize the open control structure and indent the HTML within it. Another example which uses pure PHP:
<?php
if (1==1):
echo "This line gets indented";
echo "This one doesn't";
endif;
?>
The indentation is terminated by the semicolon, even though the control structure is still open.
Does anybody know how to get Vim to work in these situations? Thanks.