我已经使用Vim很多年了,但直到最近我才真正开始使用快速修复列表。一个立即让我震惊的可用性问题是,当我修复快速修复列表中的第一个问题时,所有后续问题的行号现在都偏离了一定的数量。如果我有几个错误,这个问题会很快复合。我几乎总是在修复一两个问题后重新运行我的linters来重新计算列表。有没有办法让Vim保持快速修复列表中的行号是最新的?当我在快速修复列表条目上添加或删除行时,该条目的行号应该相应地增加或减少。
6vl6ewon1#
quickfix list 和quickfix window 不会与缓冲区的内容保持最新,因为它们反映的是(过去)用于生成列表的底层命令(grep、linter等)的输出。如果您确实想让快速修复列表和窗口与缓冲区的内容保持最新,则必须:1.将缓冲区写入磁盘,1.再次运行您的linter以获得新的快速修复列表。我不认为这是值得的麻烦,因为您用来跳转列表的命令足够“聪明”,可以很好地处理添加和删除的行:
为什么你没有得到预期的行为是需要调查的,在这里,而不是如何得到它。
1条答案
按热度按时间6vl6ewon1#
quickfix list 和quickfix window 不会与缓冲区的内容保持最新,因为它们反映的是(过去)用于生成列表的底层命令(grep、linter等)的输出。
如果您确实想让快速修复列表和窗口与缓冲区的内容保持最新,则必须:
1.将缓冲区写入磁盘,
1.再次运行您的linter以获得新的快速修复列表。
我不认为这是值得的麻烦,因为您用来跳转列表的命令足够“聪明”,可以很好地处理添加和删除的行:
为什么你没有得到预期的行为是需要调查的,在这里,而不是如何得到它。