7

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

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

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

想法?

4

1 回答 1

1

我认为这是一个限制rails.vim。它不支持“查找”裸方法。支持这样的事情需要以下之一:

  • 对每个“查找”请求的所有源文件进行详尽的搜索
    (这对于大型项目可能很昂贵),
  • 方法名称的“哑”索引
    (例如 Exuberant Ctags 和gControl- ];参见:help g_CTRL-]),或
  • 对代码进行足够智能的解析,以便很好地猜测方法可能在哪里定义
    (这很难正确地做到)。

如果您知道方法在哪里,您可以使用方法名称扩展许多导航命令:

:Rhelper application#format_name

但是,您不必输入所有内容。假设光标在format_name您可能只需输入:RhTabspaceappTab#Control- R Control- W(请参阅:help c_CTRL-R_CTRL-W)。

于 2011-03-15T18:33:17.737 回答