我在 vim 中使用 Python 插件创建了一个快速列表。当一行中有制表符时,它无法以非常不可预测的方式将光标定位到正确的位置。
例如,文件中有这样一行:
<Tab>return substitute(a:path, '[\\]\+', '\\\\', "g")
然后我将快速修复实体定位到此行的 's' 个字符处。我有第 9 个列,但是当我点击 时,vim 将光标定位到第 2 个列。这是怎么回事?仅当行中有制表符并且快速修复列表显示正确位置时才会发生这种情况。
答案1
快速修复条目的解析由'errorformat'
选项决定。这支持两种不同的列含义(来自:help errorformat
):
%c column number (finds a number representing character column of the error, (1 <tab> == 1 character column)) %v virtual column number (finds a number representing screen column of the error (1 <tab> == 8 screen columns))
看起来你的插件没有正确做到这一点;你应该向插件的作者提出这个问题。