在vim中高亮显示Python代码块

8 投票
2 回答
2635 浏览
提问于 2025-04-17 12:26

我想在vim编辑器中突出显示不同的缩进级别,这样我就能更容易地识别出大块代码。我有一些比较大的嵌套循环(for/while)和其他代码块,这让人很难判断自己处于哪个代码块,也就是在光标前面有多少个“制表符”。

有没有办法可以突出显示这些制表符呢?

我想要的效果是这样的:

try:
*   while True:
*   *   for foo in bar:
*   *   *   do()
*   if something:
*   *   done()
except bla:
*   exit()

其中 * 会是一个特殊的背景颜色。

如果有其他方法可以帮助我识别缩进级别,我也能接受。

2 个回答

3

你可以使用 listchars 这个选项来显示特定的字符(详细信息可以查看 :help listchars)。

比如,如果你想显示制表符(tab),可以这样做:

:set listchars=tab:*\     " Be careful : there is a space after the backslash
:set list

你还可以通过 highlight 属性来改变 SpecialKey 组的高亮颜色。

如果你在终端中使用 vim:

:highlight SpecialKey ctermfg=Cyan

想了解更多信息,可以查看 :help highlight

你还可以运行 :runtime syntax/colortest.vim 来查看所有可用的颜色。

8

Indent Guides 是一个 Vim 插件,它正是用来实现这种高亮显示的。我会把它和 listchars 选项一起使用(正如 Ackar 提到的)。

撰写回答