Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 如何更正整个文件中的拼写?_Vim - Fatal编程技术网

Vim 如何更正整个文件中的拼写?

Vim 如何更正整个文件中的拼写?,vim,Vim,拼写错误可以通过将光标指向拼写错误的单词并按z=(将出现一个列表,您可以选择正确的单词)来修复。但这只会纠正错误一次(在当前世界上)。这并不是我们大多数人想要的,大多数人都乐意在整个文件中进行替换。我怎样才能做到 不成功的尝试: 我想到了用正确的错误替换那个错误(例如,:%s/badspell/goodspell/g)。但糟糕的是,这是痛苦的。首先,我需要(至少)更正一个单词,然后将拼写错误和拼写更正存储在我的缓冲区(大脑),然后编写替换命令(很可能我会在书写拼写错误和拼写正确时出错)。虽然这也

拼写错误可以通过将光标指向拼写错误的单词并按
z=
(将出现一个列表,您可以选择正确的单词)来修复。但这只会纠正错误一次(在当前世界上)。这并不是我们大多数人想要的,大多数人都乐意在整个文件中进行替换。我怎样才能做到

不成功的尝试: 我想到了用正确的错误替换那个错误(例如,
:%s/badspell/goodspell/g
)。但糟糕的是,这是痛苦的。首先,我需要(至少)更正一个单词,然后将拼写错误和拼写更正存储在我的缓冲区(大脑),然后编写替换命令(很可能我会在书写拼写错误和拼写正确时出错)。虽然这也需要时间


有一个关于StackOverflow的问题,它说我可以在更正后解决我的问题,即执行
:spellrepall
。唯一的问题是我不想打这么多字。我想在每次有拼写更正时自动执行此操作


不要向我推荐插件。

你可以在.vimrc中设置拼写

set spell
或者,如果您在vim上直接执行此操作,请在vim命令模式下执行

:set spell
一旦咒语开启,你需要知道以下命令:

]s — move to the next mispelled word
[s — move to the previous mispelled word
zg — add a word to the dictionary
zug — undo the addition of a word to the dictionary
z= — view spelling suggestions for a mispelled word

如果大部分时间您都在从查询中选择第一个修复程序,则可以对
1z=
使用重新映射:

nnoremap 1z= 1z=:spellrepall<cr>
nnoremap 1z=1z=:拼写重新调用
尽管我建议像许多人已经建议的那样,将
:spellrepall
绑定到一个单独的键。我非常怀疑你已经用完了所有那些
组合的键绑定。(类似于
z
的东西将是这方面的完美选择)


如果你不放松你的期望,我认为这不会变得更容易。

一个简单的映射怎么样:
nnoremap:spellrepall
?@romainl没有映射?事实上,我被映射淹没了。有什么功能吗?而且我的大多数功能键都映射到了操作系统。你只需要很少的输入,却反对映射?!我认为在Vim中,
readMyBrain和dowHatimean()
函数还没有实现。我不是要你去读我的大脑。我想要一个函数,可以执行
:spellrepall
功能,并希望在适当的事件中调用它。问题是,没有
AcceptedSpellCorrection
事件。您必须重新映射
z=
,然后发出
:spellrepall
。困难在于
z=
可能会查询更正。事实上我已经做过了,但是1。这是一个复杂的插件,2。尚未出版,3。如果你想修复整个文件,并且你想用vim抛出的第一个建议来修复它,那么你不需要插件。在这种情况下,您只需记录一个vim宏并运行1000次。