在进行拼写检查时,键入z =会显示一个选择列表,如下所示。



您可以看到正确的拼写; “就是”没有显示为任何选项。
我想增强此菜单,以便我可以只键入“即”。然后按Enter键并将其替换。

也很好,如果作为同一步骤的一部分,如果我可以开始输入显示的选项之一的名称,然后使用制表符进行竞争-我的对于通过输入单词而不是输入数字来替换单词,mind的效果更好。

我怀疑这需要通过插件来完成,但我不确定这不只是配置选项。

#1 楼

查看spell_suggest()中的spell.c函数,使用z =似乎无法实现。在获得并显示所有可能的建议之后,它会执行以下操作:

(另请参见同一文件中的prompt_for_number())。不允许映射或其他输入。


第二种选择是在插入模式下通过Ctrl x + s或Ctrl x + Ctrl s1使用Vim的拼写“完成”。这大致满足您的要求。您可以使用Ctrl n和Ctrl p或箭头键从补全中选择,或键入自己的改进。

您可以使用supertab插件通过Tab键来完成此操作。 misc1.c还具有get_number()功能,可以对此进行调整。

有关更多信息,请参见:
:help ins-completion
CleverTab()


最后,Vim具有:help ins-completion函数,该函数返回一个拼写建议列表:

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);


您可以使用此函数来构造自己的拼写建议屏幕。


脚注

1:请注意,如文档所述,使用Ctrl可能不起作用:


注意:CTRL-S在许多Unix终端中暂停显示。使用“ s”代替。键入
CTRL-Q恢复显示。


如果使用gVim,则使用Ctrl s应该可以。或者,您可以在终端中使用:help i_CTRL-X_s禁用此功能。

#2 楼

我要扩展/合并@ quincy-bowers答案:


您不能从拼写建议屏幕中输入自己的建议。
这没有多大意义(在VIM中)从拼写建议屏幕输入您自己的建议。

VIM是文本编辑器。既然这是最好的,它将编辑工作留给了自己。换句话说,将拼写错误的单词更改为您自己的自定义建议的答案只需按Enter键以关闭建议列表,然后手动将单词更改为正确的拼写。 (ciw对此非常有效)。

然后(如@ quincy-bowers所建议的那样),如果希望自定义正确的拼写出现在后续建议列表中,则当光标位于单词和单词上时,键入zg将会添加到您的拼写字典中(有关详细信息,请参见:help zg。)。但是,在说完所有这些之后,并没有阻止使用VIM的聪明人找到替代品(无限种猫皮的方法)他们说),因此您可以尝试使用其他插件,例如unite-spell-suggest。

评论


描述当前的工作流程不仅仅是评论,而是答案。虽然您的解释很好。

–林登·怀特(Lyndon White)
2015年2月19日,下午3:55

@Oxinabox也许您正在寻找更多类似的东西:vim.org/scripts/script.php?script_id=4929?

– Sukima
2015年2月19日下午4:12

是的,这更像是我要寻找的东西。

–林登·怀特(Lyndon White)
2015年2月19日下午4:14

#3 楼

无需添加任何插件,您就可以在拼写文件中添加一个已知的好词。而不是z =提出拼写建议,而是从视觉上选择要添加到拼写文件中的文本,然后按zg。只要您已为正常模式启用了鼠标,鼠标即可选择所需的鼠标。例如,我在.vimrc中设置了set mouse=a,无论我是在Vim还是gVim中,它都可以在所有模式下启用鼠标。

我认为您想要的其他东西如果没有插件或更改Vim本身。

评论


这些都是有用的提示,但是我看不到它们如何回答这个问题?

–马丁·图尔诺伊(Martin Tournoij)
15年2月16日在15:35

@Carpetsmoker我可以对您自己的答案说同样的话。我告诉他这是不可能的,并提供了工作流程的更改作为可能的解决方法。就像你一样。

–昆西凉亭
15年2月16日在17:16

@MartinTournoij这个答案实际上为问题提供了解决方案:需要包含新词> zg会执行这种包含。

–尼龙
18年8月8日在22:28