私はvimのカスタム構文ファイルを作成していますが、コードを読みやすくするために、コードを自動的にインデントする方法をvimに伝えたいと思います。今のところ、gg=G''
vimでの通常の再インデントは、各行の先頭にあるすべての空白を削除します。
IF (@("X_17") = "X") THEN
*Make sure only one is selected
countX = 0;
IF (@("X_19") = "X") THEN
countX += 1;
END
IF (@("X_20") = "X") THEN
countX += 1;
END
IF (@("X_21") = "X") THEN
countX += 1;
END
...
コメント(*で始まる)がまったくインデントされないように(行の先頭に空白がないように)設定したいのですが、残りはIFとENDに基づいてインデントされます。適切にインデントされた同じコード(最初のIFでさえさらに大きなIF / ENDブロック内にあると想定):
IF (@("X_17") = "X") THEN
*Make sure only one is selected
countX = 0;
IF (@("X_19") = "X") THEN
countX += 1;
END
IF (@("X_20") = "X") THEN
countX += 1;
END
IF (@("X_21") = "X") THEN
countX += 1;
END
...
構文のハイライトを設定し、キーワードと組み込み関数はすでにdal.vimファイルの一部になっています。現在のdal.vimは次のとおりです。
コードが最初に空白なしですべてのコメントを保持しながら、IF / ENDブロック内で自動的にインデントされるように、私が持っているものを変更する方法はありますか?
ボーナスの質問:これらのIF / ENDブロックに従うようにコード折り畳みを設定するにはどうすればよいですか?今、私はzf2j
このコードを折りたたむためにやっています。