我遇到了这个问题:https: //softwareengineering.stackexchange.com/questions/87077/how-can-a-code-editor-effectively-hint-at-code-nesting-level-without-using-inde 并认为Vim也许可以用插件做类似的事情.
我相信缩进级别可以用a符号表示(GUI中的图标,术语中带有突出显示的文本).我不确定的部分是显示没有缩进的线条.有谁知道,是否有可能和/或你将如何做到这一点?
这个问题不是是否需要以这种方式显示压痕水平; 但是如何在Vim中完成它.
您可以使用conceal
7.3 中的新功能。
这是一个大致完成本文描述的功能的函数(对于空格;考虑制表符将是一个相当微不足道的添加):
function! IndentationHeatMap()
set conceallevel=1
for i in range(1,9)
let indentation = repeat(" ", &sts * i)
exe 'syntax match NonText "^' . indentation . '" conceal cchar=' . i
endfor
endfunction
Run Code Online (Sandbox Code Playgroud)
更接近您所要求的解决方案可能会使用conceal
隐藏所有前导空格
syntax match NonText "^\s\+" conceal
然后用于signs
提供基于自定义计算的指标。
注意:NonText
这些语法命令中是任意高亮组。