スクリプトタグ内のJavaScriptを正しくインデントするためにVIMを取得するためのサポートが必要です。
これは私がそれをどのように見せたいかです:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-257015-24']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
これは、VIMをインデントさせたときの外観です。これは非常に優れていますが、最適ではありません。
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-257015-24']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
私のVIMファイルはおおよそこれらのものです:http://github.com/lunks/vimfiles
インデントしたいタグにスクリプトを追加してみましたvimrc
:
let g:html_indent_inctags = "body,head,tbody,ul,li,p,script"
ただし、script
タグに続くコンテンツは正常にインデントされますが、コンテンツはjavascriptとしてインデントされなくなり、単なるテキストになります。
スクリプトタグ内のVIMインデントJavascriptを意図したとおりにするにはどうすればよいですか?