当前位置: 首页 > 知识库问答 >
问题:

VIM:如何获取当前函数名

陈朗
2023-03-14

在我的vim配置中,我映射了,pt,以运行phpunit测试。

map <leader>pt :!clear && vendor/bin/phpunit % --testdox<cr>

但有时我想使用phpunit——filter来运行特定的测试

map <leader>pt :!clear && vendor/bin/phpunit --filter {FUNCTION_NAME_HERE} % --testdox<cr>

我们是否可以在vim中自动填写函数名?

共有1个答案

戚建华
2023-03-14

作为一个文本编辑器,Vim对底层源代码的结构了解有限。

当前方法名称的潜在来源可能是:

  • 跳转到方法的前一个开始:: help[m
  • 语法高亮
  • 标签数据库;标签列表和标签栏等插件自动突出当前定义

或者,您可以尝试通过模式提取来解析函数名(正如@Matt在注释中所建议的那样;通过类似matchstr(getline(search('function','bcnW')),'function\s\\zs\w\'))的方式来解析函数名,但这将限于当前语言,并且很难100%地获得正确的结果。

总之,这并不简单,需要使用高级Vimscript来完成。

我选择80%的解决方案,一个自定义的:command,您可以传递函数名,而不是完全自动化的映射:

command -nargs=1 Phpunit !clear && vendor/bin/phpunit --filter <args> % --testdox

与映射一样,它仍然可以节省大量的输入。您可以拖动函数名将其粘贴到中,或者如果光标当前位于其顶部,则只需通过将其插入:Phpunit命令行即可

作为下一步,您可以让:Phpunit处理零参数,然后删除--filter参数,这样您的映射将变成:nnoremap

 类似资料:
  • 问题内容: 出于跟踪目的,我想打印出当前函数名称,例如gcc中的宏。 这样当我有一个功能 它会自动打印出来或类似的东西。 问题答案: [注意:Go 1.7+建议使用代替; 包运行时是您的朋友在这里:

  • 函数名称:获取设备剩余电量 函数功能:获取设备剩余电量大小 函数方法 level = device.batteryQuantity() 返回值 类型 说明 level number 当前设备剩余电量,范围:0 - 100 函数用例 level = device.batteryQuantity() dialog(level,5000) 注意事项 目前积木编程函数和触动精灵函数不通用,请仔细查看本手

  • 当前文档只讨论获取路由参数,而不是实际的路由段。 例如,如果我想找到当前路由的父级,怎么可能?

  • 我正在访问在woocommerce上显示我的产品(与woocommerce中的正常流程类似)。 在存档产品页面上。php我已经添加了侧边栏和我的商店拥有的所有产品类别(有或没有产品)。我使用了以下代码来执行此操作: 现在页面的左侧有上面的侧边栏,右侧有产品。在每个产品类别中,我都添加了一个带有html格式的小说明,我希望在用户单击该类别时显示该说明。根据woocommerce,当您进入特定类别时(

  • nuxt3如何在服务端获取当前域名,服务端无法使用location去获取 使用useRequestHeaders获取的空对象

  • 本文向大家介绍如何获取当前数据库版本?相关面试题,主要包含被问及如何获取当前数据库版本?时的应答技巧和注意事项,需要的朋友参考一下 使用 select version() 获取当前 MySQL 数据库版本。