ruby-on-rails - 在 rails.vim 中,为什么会出现 "E345 can' t find file in path”错误?

标签 ruby-on-rails vim rails.vim

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

作为问题的一个例子。我在 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制表符 app标签 # Control-R Control-W(见 :help c_CTRL-R_CTRL-W)。

    关于ruby-on-rails - 在 rails.vim 中,为什么会出现 "E345 can' t find file in path”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308118/

    相关文章:

    VIM:无法使用 Vimball 卸载 Latex-Box 插件

    ruby-on-rails - Rails.vim 插件,它有什么花哨的迁移支持吗?

    ruby-on-rails - 使用 rails.vim 转到最后一个文件

    ruby-on-rails - 如何在 Redis 中命名和存储我的数据集?

    ruby-on-rails - 在同一 gem 集中的不同版本的 rails 之间切换

    ruby-on-rails - 事件模型序列化器 : Rendering array of values only renders first value

    ruby-on-rails - Ruby 语法 : can x ('foo' , y : 'bar' , z : 'baz' ) differ from x ('foo' , @yz)?

    vim - 有没有办法自动从 Vim Fireplace 连接到 nREPL?

    vim - 如何在vim中使制表符间距=NONE的背景颜色?

    ruby-on-rails - Vim:使用 rails.vim,如何让 rails.vm 使用 rspec 而不是 testunit?