在光标下询问单词,用于在vim中拼写突出显示

时间:2014-07-20 21:10:12

标签: vim

我最近发现了Vim的内置拼写检查。我在文档中注意到,通过激活拼写检查(la :setlocal spell spelllang=en_us)可以显示几类突出显示的单词。这些不同的课程向我展示了不同类型的拼写错误,但我并不总是清楚我根据颜色做出了哪种错误。

我知道我可以使用z=查看单词的不同拼写建议,并将光标放在其上,但我真的很喜欢一个类似的命令,只是告诉我拼写错误的类型我和# 39;已经制作。

我也知道我可以使用:hi查看不同突出显示类的列表,但这相当笨拙。我想快速查看正在应用于光标下文本的:hi表中类的名称。

我最接近的是:echo synIDattr(synID(line("."),col("."),1),"name"),它给了我光标下的句法上下文。在我尝试的任何环境中,这实际上并没有告诉我任何有关拼写的内容。

1 个答案:

答案 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()