当在vim中高亮文本时,例如在编写HTML文档时使用“em”标记时,我发现在某些配色方案中光标变得不可见,使得正确放置结束标签变得困难。是否有一种方法可以使光标在高亮文本上改变颜色?
你需要钩入 CursorMoved,CursorMovedI
事件,然后使用 synIDattr(synIDtrans(synID(line("."), col("."), 1)), "name")
确定光标下的高亮组。如果它是那些难以看到的组之一,你可以发出一个 :highlight Cursor ...
命令来更改它(或者将其改回来)。
但这相当复杂。为什么不直接修改颜色方案并选择一种在所有情况下都容易识别的颜色呢?!(:hi
命令列出了所有颜色,并帮助你选择一种。)
这个问题让我深入了解了语法高亮的工作原理,比我预期的要多学习很多。
我发现,我的文本之所以被突出显示为斜体,是因为 Mac 终端不支持斜体(“在 Mac 终端中启用 vim 语法高亮的斜体”)。
通过“Linux 控制台的 256 色模式:到处都是颜色”,我意识到由于终端偏好设置中选择的颜色配置文件,我的“明亮”和“普通”颜色没有任何区别,因此我的颜色配置文件从未看起来像屏幕截图。
最后,我通过更改终端偏好设置中的光标颜色解决了我的光标丢失问题。