Я только что узнал о команде vim gf
для перехода к файлам, на которые есть ссылки в других файлах, таких как c include. Я хочу, чтобы это работало в фреймворке Yii php, где файлы могут быть зарегистрированы с помощью автозагрузчика следующим образом:
Yii::import('path.to.ClassName', true);
Использование gf
на ClassName
не имеет никакого эффекта, потому что это не реальный путь к файлу. Однако было бы достаточно легко перевести его в путь к файлу, который path/to/ClassName.php
.
Кроме того, в Yii существуют другие механизмы, которые используют псевдонимы пути, например, начало виджета, который выглядит следующим образом:
$this->beginWidget('ext.widgets.widgetName.ClassName');
Где ext.widgets.widgetName.ClassName
- это псевдоним где-нибудь, возможно protected/extensions/widgets/widgetName/ClassName.php
. В этом случае псевдоним ext
раскрывается до полного пути во время выполнения, поэтому vim не может знать полный путь к файлу.
Есть ли способ перегрузить / переназначить gf
, поэтому в рамках проекта php это может быть либо:
- вычислить правильный путь к файлу, затем перейти к файлу или, если файл не найден,
- выполнить поиск тега
ClassName
?