[英]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.