我正在为 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
折叠这段代码。