我不想拥有一个能够打开拼写检查的功能然后转到下一个拼写错误的单词并替换第一个建议继续我到目前为止所获得的内容:
function! Spell_new_word()
set spell=true
exe ']s'
exe '1z='
set spell=false
endfunction
但它似乎只是将拼写设置为true并且没有做任何事情......我做错了什么?
更新
我已经厌倦了将exe改为正常,但仍然没有运气:
function! Spell_new_word()
set spell!
normal ']s'
normal '1z='
set spell!
endfunction
更新2:
我已经厌倦了这个但它仍然不起作用:
function! Spell_new_word()
set spell
normal ]s
normal 1z=
set nospell
endfunction
但我不认为这是我认为不会对,d
具有约束力的问题:
let mapleader = ","
namp ,d Spell_next_word()
答案 0 :(得分:2)
将exe
更改为normal
。 exe
用于执行命令行命令。
答案 1 :(得分:2)
除了实现Austin的答案(请参阅下面的评论),您还需要了解如何打开和关闭vim的设置。这在:help :set
下的各个条目中进行了解释。具体来说,您应该使用set spell
启用拼写,set nospell
禁用拼写。
可能需要执行一些其他配置才能使拼写纠正工作,例如设置'spelllang'
。请仔细阅读:help spell.txt
。
答案 2 :(得分:2)
nnoremap ,d :call Spell_next_word()^M
需要注意的事项:
:
进入命令模式call
函数^M
通常通过 Cv 输入在linux上输入,或者 CQ Enter < / kbd>在Windows上另外,也许包括
inoremap ,d ^O:call Spell_next_word()^M
(再次将^O
键入 Cv Co 或 CQ Co )