オートフォーマット(gg=G
)ので(hereからの例)のようなコードのために完璧に動作します:Vimの自動フォーマットオプション(=)は、HTML + JSを正しくインデントしませんか?
fun()
{
for(...)
{
for(...)
{
if(...)
{
}
}
}
}
が
fun()
{
for(...)
{
for(...)
{
if(...)
{
}
}
}
}
なるが、そう(hereからコピーされた)のように、それは、より複雑なコードで失敗した
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
</body>
</html>
となります。
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
</body>
</html>
なぜ、<p>
タグが本文にインデントされていないのですか?これはvimのフォーマッタの欠点ですか、私は間違って使用していますか?
EDIT:ありがとうございます。filetype plugin indent on
を.vimrc
に入れてください。それは、より多くのインデントを行いました。しかし、時にはまだ失敗しています。 (hereからコピー)
<!DOCTYPE html>
<html>
<body>
<div style="text-align:center">
<button onclick="playPause()">Play/Pause</button>
<button onclick="makeBig()">Big</button>
<button onclick="makeSmall()">Small</button>
<button onclick="makeNormal()">Normal</button>
<br />
<video id="video1">
<source src="mov_bbb.mp4" type="video/mp4" />
<source src="mov_bbb.ogg" type="video/ogg" />
Your browser does not support HTML5 video.
</video>
</div>
<script type="text/javascript">
var myVideo=document.getElementById("video1");
function playPause()
{
if (myVideo.paused)
myVideo.play();
else
myVideo.pause();
}
function makeBig()
{
myVideo.height=(myVideo.videoHeight*2);
}
function makeSmall()
{
myVideo.height=(myVideo.videoHeight/2);
}
function makeNormal()
{
myVideo.height=(myVideo.videoHeight);
}
</script>
<p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>
</body>
</html>
は全く変更されません。これらの関数が<script>
タグ内にネストされていることはわかりません。ファイルタイプをjs.html
またはhtml.js
に設定すると助けにならない
を入力して、それを有効にするいずれかの方法でファイルタイププラグインをオンにする必要があるかもしれないと言いますか? (例えばJavaScriptを全く使わない) –
これはここで答えられたようです: http://stackoverflow.com/questions/3276392/vim-gg-g-aligns-left-does-not-auto-indent – Chriseyre2000
@ Chriseyre2000私は、ソリューションがより信頼できるものかどうかを調べるためにテストしています。 – puk