2

スクリプトタグ内の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を意図したとおりにするにはどうすればよいですか?

4

2 に答える 2

0

:set ft=html.javascriptvim.orgでHTML/JS用のより良いインデントファイルを試すか検索してください。

于 2012-06-22T05:48:33.523 に答える
0

これはそれをしました:https ://github.com/vim-scripts/indenthtml.vim

必ずvimrcに追加してください:

let g:html_indent_script1 = "inc"
let g:html_indent_style1 = "inc"
于 2012-06-23T18:09:22.313 に答える