如何在当前行的开头显示垂直线?

4 投票
5 回答
523 浏览
提问于 2025-04-16 03:24

我想在vim这个编辑器里找到一种简单的方法,来清楚地看到Python代码的缩进层级。如果在当前行的开头总是有一条竖线,那就太好了。这样我就可以快速浏览代码,看看当前的代码块在哪里结束。有谁知道有没有这样的插件吗?

5 个回答

0

你可以为它定义自己的语法项(或者使用匹配项)。这里有个简单粗暴的解决办法:

let colors=["red", "white", "yellow", "green", "blue"]
let matchids=[]
for level in range(1, len(colors))
    execute "hi IndentLevel".level." ctermbg=".colors[level-1]." guibg=".colors[level-1]
    call add(matchids, matchadd('IndentLevel'.level, '^   '.repeat('    ', level-1).'\zs '))
endfor

这个代码会用不同的颜色来高亮显示前五个缩进级别。

如果你想关闭这个功能,可以使用:

while !empty(matchids)
    call matchdelete(remove(matchids, 0))
endwhile
1

首先,你可以考虑使用一个插件,它可以实现代码折叠的功能。

这里有一个教程和示例(向下滚动到“代码折叠”部分),推荐使用“高效Python折叠”插件,适用于vim

截图
(来源: dancingpenguinsoflight.com)

5

你可以简单地模拟缩进指南。在我看来,这样做更简单也更有效。请看看我在这个问题中关于缩进指南的回答。

撰写回答