【发布时间】:2025-12-19 14:45:17
【问题描述】:
我经常使用带有“@”字符的 Vuejs 和 Webpack 进行文件解析,就像这样
import MyComponent from "@/components/MyComponent.vue";
但是,我不能使用 vim gf 命令移动到这个文件。
E447: Can't find file "/components/MyComponent.vue" in path
我花了几个小时在谷歌上搜索,弄乱了 vim 路径和includeexpr。我还尝试了几个插件,例如vim-npr 或vim-gotofile。
有没有人遇到过同样的问题并找到了解决办法?
编辑
到目前为止,我想到的最好的事情是:
:set inex=substitute(v:fname,'^\\@\/','src/','')
在another * thread 中找到它,他们在那里使用~ 字符。但是它不适用于@。尝试gf时出现此错误
E869: (NFA) Unknown operator '\@/'
我的解决方案
在@romainl 的帮助下,我现在在after/ftplugin/vue.vim 和after/ftplugin/javascript.vim 中都进行了设置
setlocal isfname+=@-@
setlocal includeexpr=substitute(v:fname,'^@\/','src/','')
感谢您的帮助!
【问题讨论】:
-
这是一个编程 QA 站点,因此您在“搞乱 vim 路径和
includeexpr”时提出的代码是您问题中最重要的部分。它现在不见了。 -
很公平!到目前为止,我用我最好的想法更新了我的问题(这不起作用)