在rails.vim为什么我得到“E345无法在路径中找到文件”错误?

我一直在用vim学习Ruby / Rails。 蒂姆波普的rails.vim似乎是一个非常好的工具来遍历文件,但我一直得到这些讨厌的“E345无法在路径中找到文件”的错误。 我还不是vim专家,所以解决方案并不明显。 另外,我试过这个并不适用于我的问题。

作为问题的一个例子。 我在app / helpers / application_helper.rb中定义了一个方法format_name,它在app / helpers / messages_helper.rb中使用。 在后一个文件中,我把光标放在format_name的用法上,然后点击gf,我得到了那个错误。 与f和[f]等命令类似的失效

但是,它有时会起作用。 我能够从user gf到app / models / user.rb

想法?

我认为这是rails.vim的限制。 它不支持“查找”裸方法。 支持类似的东西需要以下之一:

  • 详尽搜索每个“查找”请求的所有源文件
    (对于大型项目而言可能很昂贵),
  • 方法名称的“哑”索引
    (例如,Exuberant Ctags和g Control] ;请参阅:help g_CTRL-] ),或
  • 足够聪明地解析代码,以便很好地猜测可能定义方法的位置
    (这很难做到)。

如果您知道方法的位置,则可以使用方法名称扩展许多导航命令:

 :Rhelper application#format_name 

但是,您不必输入所有内容。假设光标位于format_name您可以只输入:Rh Tab space app Tab # ControlR ControlW (参见:help c_CTRL-R_CTRL-W )。

Interesting Posts