VIM:Ruby方法用?而且!到底

Dan*_*iel 4 ruby vim

我正在尝试使用VIM完成(字典和当前缓冲区),但我遇到了问题?而且!在方法名称的末尾.我可以以某种方式向vim解释方法名称(基本上是单词)只能在最后只有一个即method_name吗?不公牛??? !!狗屎!?或者如果!xyz ...(当?和!添加iskeyword!xyz存在于完成列表中).任何想法如何做到这一点?

Xav*_* T. 5

IIRC,你必须修改iskeyword选项.

您可以尝试set iskeyword+=?,!这样,?并且!被视为单词的一部分而不是分隔符.

在你的.vimrc,你可以添加:
autocmd BufRead,BufNewFile *.rb set iskeyword+=?,!

有关:help iskeyword更多信息,请参阅

编辑:我没有看到你已经提到过iskeyword作为一种可能的解决方法.

替代想法:
1.为您的ruby代码生成ctags.
2.在complete选项中删除除t选项含义之外的所有内容tags only.

您只会从标记文件中获得建议.缺点是它增加了一个使用完成的新步骤,你将错过一些非标签完成.

  • 请仔细阅读原始信息.iskeyword在这种情况下不起作用,因为添加?而且!它意味着像`if!xyz`这样的东西会有新的完成选项!xyz,那绝对不是我想要的.在每次更改时生成标签?也不是最好的主意. (2认同)