我最近发现了Vim的内置拼写检查。我在文档中注意到,通过激活拼写检查(la :setlocal spell spelllang=en_us
)可以显示几类突出显示的单词。这些不同的课程向我展示了不同类型的拼写错误,但我并不总是清楚我根据颜色做出了哪种错误。
我知道我可以使用z=
查看单词的不同拼写建议,并将光标放在其上,但我真的很喜欢一个类似的命令,只是告诉我拼写错误的类型我和# 39;已经制作。
我也知道我可以使用:hi
查看不同突出显示类的列表,但这相当笨拙。我想快速查看正在应用于光标下文本的:hi
表中类的名称。
我最接近的是:echo synIDattr(synID(line("."),col("."),1),"name")
,它给了我光标下的句法上下文。在我尝试的任何环境中,这实际上并没有告诉我任何有关拼写的内容。
答案 0 :(得分:1)
我不知道如何查询当前单词的拼写错误类型。因为我经常忘记哪个突出显示意味着什么,所以我已经定义了这个命令以帮助我记忆:
function! s:SpellLegend()
for [l:group, l:explanation] in [
\ ['SpellBad', 'word not recognized'],
\ ['SpellCap', 'word not capitalized'],
\ ['SpellRare', 'rare word'],
\ ['SpellLocal', 'wrong spelling for selected region']
\]
echo ''
echon l:group . "\t"
execute 'echohl' l:group
echon 'xxx'
echohl None
echon "\t" . l:explanation
endfor
endfunction
command! -bar SpellLegend call s:SpellLegend()