我遇到了这个问题: https://softwareengineering.stackexchange.com/questions/87077/how-can-a-code-editor-effectively-hint-at-code-nesting-level-without-using-inde 并且认为Vim可以使用插件做类似的事情。
我认为缩进级别可以用a符号表示(GUI中的图标,术语中带有突出显示的文本)。我不确定的部分是显示没有缩进的线条。有谁知道,是否有可能和/或你将如何做到这一点?
这个问题不在于是否需要以这种方式显示压痕水平;但是如何在Vim中完成它。
答案 0 :(得分:3)
您可以使用7.3中新增的conceal
功能。
这是一个大致完成文章描述内容的函数(对于空格;相反,对于制表符来说,这将是一个相当简单的补充):
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
更靠近您请求的解决方案可能会使用conceal
隐藏所有前导空格
syntax match NonText "^\s\+" conceal
然后使用signs
根据自定义计算提供指标。
注意:这些语法命令中的NonText
是任意突出显示组。
答案 1 :(得分:0)
看看这些插件:Indent Guides和IndentHL 两者都有截图。