单词vim前后的补全
我添加了这样一个词汇:单词vim前后的补全,vim,completion,Vim,Completion,我添加了这样一个词汇: foo.bar this.is.a.test 我做了:设置iskeyword+=。以完成工作,尽管有点: 当我键入fo-->foo.bar 但我也希望有这样的完成: test-->this.is.a.test 我的意思是,我不会总是打一个词的开头 我希望我是清楚的 提前感谢内置补全功能始终提供以补全基数开始的匹配。但是,您可以编写实现不同策略的自定义完成 如果您的字典是一个加载的缓冲区(而不是内置的字典完成:help i\u CTRL-X\u CTRL-K),则my将更
foo.bar
this.is.a.test
我做了:设置iskeyword+=。
以完成工作,尽管有点:
当我键入fo
-->foo.bar
但我也希望有这样的完成:
test
-->this.is.a.test
我的意思是,我不会总是打一个词的开头
我希望我是清楚的
提前感谢内置补全功能始终提供以补全基数开始的匹配。但是,您可以编写实现不同策略的自定义完成 如果您的字典是一个加载的缓冲区(而不是内置的字典完成
:help i\u CTRL-X\u CTRL-K
),则my将更容易实现匹配项的提取。通过它,提供了相关的功能:当光标位于|test
左侧时,完成this.is.a.test
。(我还有一个MiddleEndComplete插件正在开发中,它可能接近你想要的。)在
/
之后,使用插入模式的
,你可以完成之前完成的单词。这假设这些词出现在一起。这意味着您不需要将
添加到'iskeyword'
(最好不要添加!)
至于通过单词的结尾来完成,正如@Ingo Karkat所建议的,最好是通过自定义完成。然而,我个人没有遇到这样一个完成的需要
如何使用
以下
/
- 键入第一个单词或其一部分。e、 示例中的g
test
- 点击
开始完成并打开完成菜单 - 通过
或
查找正确的完成项(可选) - 点击
完成下一个单词,例如示例中的.is
- 通过
或
查找正确的完成项(可选) - 根据需要重复
和
/
步骤
test
将产生这个.is.a.test
结论
使用
很难解释,但经过几次尝试后就更容易理解了。相信我,这是值得的。您也可以在整行完成时使用类似的技巧,即
。帮自己一个忙,只需阅读所有的:h-ins-completion
,你就会做得更好
关于使用
完成
Vim提供各种完成选项。e、 g通过
、标签:
、文件名:
等完成整行操作。通常使用一个聪明的
映射或类似插件的方式来完成,通过让他们感觉不那么熟悉来隐藏这些其他完成模式。注:SuperTab因引起冲突或不良行为而臭名昭著
有关更多帮助,请参阅:
:h i_ctrl-x_ctrl-p
:h ins-completion
:h 'complete'
:h 'completeopt'
我不认为
像你描述的那样有效。“previous”仅用于搜索方向(即候选项的排序),重复它仍将完成下一个匹配。它只考虑来自当前缓冲区(而不是字典)的单词。@IngoKarkat你是对的,这不适用于字典,只适用于当前缓冲区。但是,如果当前缓冲区中已存在this.is.a.test
,则test
可以生成this.is.a.test
(也假设设置isk-=。
)。我相信这是一个合理的本地人solution@IngoKarkat:很抱歉,在
之后使用
可以使用除当前缓冲区之外的其他缓冲区。我试过了。很抱歉,我使用了isk+=。因为我想要this.is.a.test被认为是一个单词,而不是四个。这只是因为我使用了qooxdoo框架(),它是每个类的语法。啊,我知道我完全误解了你使用的this
关键字:-)完全忘记了包名。。。