MacVim开启filetype plugin indent on时gf跳转Ruby require文件失效怎么办
问题根因
开启filetype plugin indent on配置后,Vim会自动加载对应Ruby文件类型的官方插件,该插件会重置path和suffixesadd参数的默认值,你临时手动设置的suffixesadd+=.rb会被覆盖,导致gf命令无法匹配到正确的Ruby文件路径。
解决方案
你可以在.vimrc中添加Ruby文件专属的自动命令配置,无需关闭filetype相关功能:
- 编辑
.vimrc文件,添加如下配置块:
augroup RubyGfFix autocmd! " 为Ruby文件设置gf识别的后缀 autocmd FileType ruby setlocal suffixesadd+=.rb " 把当前工作目录加入Ruby文件的搜索路径,适配项目内require的相对路径 autocmd FileType ruby setlocal path+=. augroup END
- 保存
.vimrc后重启MacVim,或者在Vim中执行:source ~/.vimrc加载配置即可生效。
效果验证
- 打开Ruby文件后执行
:set suffixesadd?,确认返回结果包含.rb - 执行
:set path?,确认返回结果包含当前目录. - 光标定位到
require后的路径上按gf即可正常跳转至对应文件。
内容的提问来源于stack exchange,提问作者user4532841
相关产品推荐
相关产品推荐

