gf 一键跳转:dotfiles 中 vim-projectionist 的 Laravel 源码与测试文件映射实战

发布时间:2026/8/23 16:23:09

gf 一键跳转:dotfiles 中 vim-projectionist 的 Laravel 源码与测试文件映射实战
gf 一键跳转dotfiles 中 vim-projectionist 的 Laravel 源码与测试文件映射实战【免费下载链接】dotfiles$HOME sweet $HOME项目地址: https://gitcode.com/gh_mirrors/dotfiles53/dotfilesdotfiles 是一个$HOME sweet $HOME的个人配置文件集其中 Neovim 配置通过vim-projectionist 插件为 Laravel 项目定义了源码 ↔ 测试文件的路径映射规则配合gf快捷键实现一键跳转在控制器上按一下直接飞到对应测试测试不存在时还会自动创建。本文带你完整看懂这套映射实战。为什么需要 gf 一键跳转在 Laravel 项目中你每天都在做这些事写完app/Http/Controllers/OrderController.php手动在tests/Feature/里找OrderControllerTest.php改了测试报错再翻回源码目录逐层定位测试文件根本还没建得先手动touch一个空文件。vim-projectionist的作用就是让编辑器认识你的项目结构用一套 glob 规则告诉它哪类文件是源码、哪类文件是测试、它们之间怎么对应。之后你只需用鼠标点一下文件路径按gfvim 里意为go to file编辑器就会按规则算出目标文件路径文件存在 → 直接打开文件不存在 →自动创建新文件让你马上开写。核心配置projectionist.lua 里的映射规则所有映射规则集中在 nvim/lua/user/plugins/projectionist.lua 中。以 Laravel 项目检测到根目录有artisan文件时生效为例关键规则如下匹配文件类型跳转目标alternateartisan项目根php artisan serve/php artisan tinkerapp/*.phpsource源码tests/Unit/{}Test.php、tests/Feature/{}Test.phptests/Feature/*Test.phptest测试app/{}.phptests/Unit/*Test.phptest测试app/{}.phpapp/Models/*.phpmodel—app/Http/Controllers/*.phpcontroller—routes/*.phproute—database/migrations/*.phpmigration—其中{}是占位符会被文件名替换比如app/Models/User.php映射到tests/Unit/UserTest.php反向地tests/Feature/UserTest.php中的{}取User映射回app/User.php。 源码的alternate写成了数组同时指向 Unit 和 Feature 两处点一下会列出候选让你选测试的alternate是单一路径点一下就直达源码。除了 Laravel配置还覆盖了两种通用 PHP 项目结构通过根目录存在composer.json判定src/布局src/*.php↔tests/{}Test.php含 Unit / Feature 子目录候选app/布局app/*.php↔tests/{}Test.php也就是说不需要每个项目单独配置这套 dotfiles 装好后主流 PHP 项目结构都能开箱即跳。gf 一键跳转的关键让不存在的路径也能打开projectionist 计算好路径后还需要gf真正去打开它。默认情况下 vim 的gf遇到不存在的文件会报错而这份 dotfiles 在 nvim/lua/user/keymaps.lua 第 18 行做了一个关键改动vim.keymap.set(, gf, :edit cfileCR, { desc Edit file under cursor })这行把gf重新绑定为:edit cfile——cfile是光标下的文件名而:edit可以创建新文件。于是鼠标点到app/Http/Controllers/UserController.php按gf编辑器列出tests/Unit/UserControllerTest.php和tests/Feature/UserControllerTest.php选中一个测试文件不存在自动新建光标直接落在空文件里等你写代码。这就是一键跳转完整闭环的最后一块拼图。顺手获得的能力gf 还能跑 artisan 命令映射规则里还藏了一个彩蛋artisan文件本身被定义为启动脚本。在artisan文件或项目根上按gf会直接提示运行php artisan serve用c前缀console 模式则可运行php artisan tinker。开发调试循环不用再切终端。快速上手3 步装好这套 dotfiles克隆仓库本仓库就是全部来源git clone https://gitcode.com/gh_mirrors/dotfiles53/dotfiles运行安装脚本 install它会把nvim/软链到~/.config/nvim同时配置 zsh、kitty、tmux、git、phpactor 等sh dotfiles/install启动 Neovim 打开任意 Laravel 项目lazy.nvim会自动拉取tpope/vim-projectionist及其依赖vim-dispatch完成后即可体验gf跳转。插件加载入口在 nvim/lua/user/lazy.lua它扫描user/plugins/目录自动安装所有插件projectionist 的声明就在 nvim/lua/user/plugins/projectionist.lua 第 4 行。总结vim-projectionist用 glob 规则教会 Neovim你的项目长什么样dotfiles 已内置 Laravel 与常见 Composer 布局的源码/测试映射gf重绑定到:edit cfile让跳转支持不存在即创建真正做到一键直达附带收获gf可直接触发php artisan serve/tinker省去终端切换。配置全部集中在nvim/lua/user/plugins/projectionist.lua与nvim/lua/user/keymaps.lua两个文件里规则清晰、注释到位非常适合作为自己的 dotfiles 起点来改造——照着alternate的写法你就能为自己的项目约定加上专属映射。【免费下载链接】dotfiles$HOME sweet $HOME项目地址: https://gitcode.com/gh_mirrors/dotfiles53/dotfiles创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ok-ww完整指南:每晚省下25分钟日常的鸣潮自动化脚本

ok-ww完整指南:每晚省下25分钟日常的鸣潮自动化脚本

2026/8/23 16:13:08

ok-ww完整指南:每晚省下25分钟日常的鸣潮自动化脚本 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves 每天打完最后一场副…

高斯过程完全指南:PRML项目带你秒懂非参数贝叶斯方法

高斯过程完全指南:PRML项目带你秒懂非参数贝叶斯方法

2026/8/23 16:13:08

高斯过程完全指南:PRML项目带你秒懂非参数贝叶斯方法 【免费下载链接】prml Repository of notes, code and notebooks in Python for the book Pattern Recognition and Machine Learning by Christopher Bishop 项目地址: https://gitcode.com/gh_mirrors/prm/p…

ngx-scrollbar平滑滚动函数详解:scrollTo与scrollToElement精准定位技巧

ngx-scrollbar平滑滚动函数详解:scrollTo与scrollToElement精准定位技巧

2026/8/23 16:13:08

ngx-scrollbar平滑滚动函数详解:scrollTo与scrollToElement精准定位技巧 【免费下载链接】ngx-scrollbar Custom overlay-scrollbars with native scrolling mechanism 项目地址: https://gitcode.com/gh_mirrors/ng/ngx-scrollbar 使用 ngx-scrollbar 这个 …

USACO青铜组真题解析:从算法思维到实战避坑指南

USACO青铜组真题解析:从算法思维到实战避坑指南

2026/8/23 19:43:17

1. 项目概述:为什么USACO青铜组真题值得你投入时间?如果你是一名对编程竞赛感兴趣的中学生,或者是一位希望孩子能在算法思维上打下坚实基础的家长,那么“USACO历年青铜组真题解析 | 汇总”这个项目,就是你绝对不能错过…

基于Agentic LLMs与上下文工程的智能软件可视化实践

基于Agentic LLMs与上下文工程的智能软件可视化实践

2026/8/23 19:43:17

1. 从“画图”到“理解”:为什么我们需要智能的软件可视化在软件开发的日常里,我们或多或少都遇到过这样的场景:接手一个遗留系统,面对几十万行代码,文档要么缺失要么过时,你试图理清模块间的依赖关系&…

Kimi    LeetCode LCP 15. 游乐园的迷宫 Python3实现

Kimi LeetCode LCP 15. 游乐园的迷宫 Python3实现

2026/8/23 19:43:17

LCP 15. 游乐园的迷宫 — Python3 实现题目理解平面上有 N 个点,需要找到一条访问所有 N 个点的路径,使得路径在每个顶点的转角方向满足给定的 direction 字符串(L 表示左转,R 表示右转)。不存在三点共线的情况。核心思…

从状态机到动态密码:揭秘“知道密码也打不开”的逻辑锁原理与Python实现

从状态机到动态密码:揭秘“知道密码也打不开”的逻辑锁原理与Python实现

2026/8/23 19:43:17

最近在逛技术社区时,看到一个挺有意思的讨论:一个号称“老外设计的密码锁”,其核心逻辑是“即使你知道密码,也打不开”。这立刻引起了我的好奇心。作为一名开发者,我本能地想到,这背后可能不是简单的机械结…

模糊综合评价:从模糊数学到精准决策的实战指南

模糊综合评价:从模糊数学到精准决策的实战指南

2026/8/23 19:43:17

1. 项目概述:当“模糊”成为精准决策的利器 在项目评估、人才选拔、产品满意度调研这些场景里,我们常常会遇到一个头疼的问题:评价标准本身就不清晰。比如,评价一个员工的“工作态度”,什么叫“好”?什么叫…

云服务器选型与安全配置实战:从核心参数到生产环境部署

云服务器选型与安全配置实战:从核心参数到生产环境部署

2026/8/23 19:33:16

在实际项目部署和线上服务搭建过程中,服务器选型是绕不开的第一步。面对市场上琳琅满目的云服务器产品,尤其是那些标榜“低价高配”、“高防”、“免备案”的促销信息,开发者很容易陷入困惑:这些产品到底靠不靠谱?它们…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/23 0:02:09

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/23 0:02:09

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/23 0:02:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/23 0:02:09

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/23 0:02:09

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/23 0:02:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…