如何针对特定标签进行特定的自动换行。例如,在LaTex中,我希望自己的段落换行,但不能用于我的图形命令(它们总是非常长并且在屏幕上运行)。
或者使用Javascript,我想要代码的正确边距,例如50列,但评论只有40列
答案 0 :(得分:1)
这不是内置的
你可以使用`formatexpr`
和synID()
的狡猾组合自己编写脚本。我建议你首先看看后者的帮助,因为它包含鼓舞人心的样本:
for id in synstack(line("."), col("."))
echo synIDattr(id, "name")
endfor
取自:he synstack
formatexpr
通常设置为
:set formatexpr=mylang#Format()
因此委托给filetype插件。您可以实现该函数以针对不同的语法上下文使用不同的边距。
记住
语法突出显示可能会变得不同步。我不确定当光标位于大文档的70%时会发生什么,并且您发出 ggVGgq 。它可能不更新语法一直突出显示(意味着您的formatexpr
函数会获得'错误的'synID()
值。您可以通过说出类似的内容来解决这个问题。 p>
:syntax sync fromstart
这可能会影响突出显示性能,具体取决于源的大小/复杂性和突出显示脚本