gpt4 book ai didi

vim - Vim 中光标下的拼写检查单词

转载 作者:行者123 更新时间:2023-12-04 08:32:28 25 4
gpt4 key购买 nike

我想有一种快速的方法在 Vim 中对光标下的单词进行拼写检查。

在原生 Vim 中执行此操作需要我:

(1) 激活拼写
(2)查词
(3) 停用拼写

(1) 和 (3) 的原因是我不想一直打开拼写模式(例如,我可能正在编写函数/类文档,并且不希望拼写突出显示代码中的非自然语言单词) .

我认为这样的事情可能会奏效:

nnoremap <F1> :setlocal spell<CR>z=:setlocal nospell<CR>

但是,当然,最后一个子句 ( :setlocal nospell ) 会干扰并取消拼写检查。

我也尝试了以下方法,但这也不起作用:
function! s:spell_check_current()
:setlocal spell
:normal("z=")
:setlocal nospell
endfunction
nnoremap <F1> :call <SID>spell_check_current()<CR>

有什么建议?

谢谢。

最佳答案

您的函数的问题在于 :normal("z=")不是调用正常命令的正确方法。它应该只是 :normal z=因为它不是一个函数。第二领先:不需要。所以函数是

function! s:spell_check_current()
setlocal spell
normal z=
setlocal nospell
endfunction
nnoremap <F1> :call <SID>spell_check_current()<CR>

虽然这会打开拼写检查窗口,但它不允许用户输入任何内容,因此这可能不会起作用。

相反,您应该关闭拼写检查的突出显示,因为这似乎是最让您烦恼的事情。

在加载配色方案后添加这些应该禁用颜色。
highlight clear SpellRare 
highlight clear SpellBad
highlight clear SpellCap
highlight clear SpellLocal

这将启用 z=用于没有颜色的拼写检查。

如果您希望颜色可切换,您可以创建一些映射来放置高亮规则。

关于vim - Vim 中光标下的拼写检查单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22180623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com