繁体   English   中英

Vim:Pascal自动缩进

[英]Vim: Pascal autoindent

我在Vim中有Pascal自动缩进的问题。

begin
    writeln('Hello World');
    end.

Vim不缩进end. 但是如果有end; 正确缩进。

当我执行gg=G整个代码会正确缩进。 有没有办法让Vim在运行时使用gg=G类的命令?

是的,这似乎是一个疏忽。 (您应该提交一个错误报告,您可以在$VIMRUNTIME/indent/pascal.vim的文件顶部找到脚本的$VIMRUNTIME/indent/pascal.vim

您只需要附加=end. indentkeys indentkeys控制vim应何时尝试重新缩进当前行。 为此,请添加setlocal indentkeys+==end. 到文件~/.vim/after/indent/pascal.vim (如果文件和目录不存在,则需要创建它们)

在获取普通缩进脚本后,将获取该文件。

看看:h indentkeys:h after


旁注: gg=G重新缩进整个文件,但这不是单个命令。 实际上是两个不同的。 gg (移至文件顶部)和={motion} (从当前行重新缩进至运动结尾)。 在这种情况下, {motion}转到文件末尾。 因此,我们重新缩进整个文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM