我经常犯类型错误并进行拼写检查以纠正错误。
我注意到,拼写字典中的第一个建议通常是正确的,所以我创建了一个地图来插入第一个拼写检查建议:
map <leader>q 1z=
这很好用。但是我必须在缓冲区中多次执行此操作(每次拼写检查错误一次)。
我想创建一个脚本,然后搜索每个类型的错误;使用上面的地图插入第一个拼写检查建议,然后突出显示它们,以便查看脚本插入的内容。
使用]s
命令创建脚本并从一个拼写检查错误转移到下一个拼写检查错误并不困难,但如何突出显示所有更改的拼写错误?
答案 0 :(得分:1)
接受拼写建议时,您需要记录(行,列)位置,并从这些位置构建正则表达式(使用/\%l
和/\%c
特殊原子),或者用于搜索(@/
)或通过:match
自定义突出显示。
但我宁愿让你考虑改变你的要求,因为这些突出的变化(尽管它经常在IDE中使用)对Vim来说是陌生的(因此实现起来相当麻烦!)更接近的匹配是quickfix list,主要用于编译器错误。
顺便提一下,我编写了一个插件SpellCheck,它允许您使用缓冲区中找到的所有拼写错误填充quickfix列表,以便您对拼写错误有一个很好的概述。通过:SpellCheck
创建概述后,您可以通过映射接受拼写建议,甚至批量接受,最后使用:cnext
(或更快的映射)访问所有替换。