我正在尝试使用VIM完成(字典和当前缓冲区),但我遇到了问题?而且!在方法名称的末尾。我可以以某种方式向vim解释方法名称(基本上是单词)只能在最后只有一个,即method_name吗?不公牛??? !!狗屎!?或者如果!xyz ...(当?和!添加iskeyword!xyz存在于完成列表中)。任何想法如何做到这一点?
答案 0 :(得分:5)
IIRC,您必须修改iskeyword
选项。
您可以尝试set iskeyword+=?,!
,以便?
和!
被视为单词的一部分,而不是分隔符。
在.vimrc
中,您可以添加:
autocmd BufRead,BufNewFile *.rb set iskeyword+=?,!
有关详细信息,请参阅:help iskeyword
。
编辑:我没有看到你已经提到过iskeyword作为一种可能的解决方法。
替代想法:
1.为您的ruby代码生成ctags
2.在complete
选项中删除除t
选项之外的所有内容,即tags only
。
您只会从标记文件中获得建议。缺点是它增加了一个使用完成的新步骤,你将错过一些非标签完成。