vim "установить свойство" для файла, а затем использовать его с навигацией проекта

Я использую vim для программирования. моя текущая работа основана на фреймворке Yii MVC.

Когда вы работаете с платформой MVC, вы всегда перемещаетесь между моделями, контроллерами и представлениями. Я хочу, чтобы сэкономить время навигации для моих задач.

Первый: я хочу перейти к контроллеру, связанному с моделью. Одна модель может иметь один контроллер для прыжков. Который я хочу настроить один раз в проекте.

Каково лучшее решение для этого?

Мое мнение, это создать комментарий в заголовке модели, как phpDoc

/*
* @controller ControllerName
*/

А затем напишите функцию vim, которая найдет "ControllerName" в текущем файле и откроет этот файл. Затем свяжите это с комбинацией клавиш.

Какова ваша идея реализовать это?

Благодарю.

1 ответ

Решение

Эта функция называется навигацией по тегам. Скорее всего, ваш файловый формат уже поддерживается вездесущими распространенными ctags (наверняка, догадываясь, что это php).

Тогда вы бы в основном сделали:

:!ctags -R .
:tj ControllerName

Вы можете использовать Tab-завершение (Control + Вкладка), делать поиск (:tj /troll + Вкладка)

Ctags имеет множество опций для обогащения / ограничения типов помеченных объектов. Чтобы выборочно действовать только на определенные файлы:

:tags +=controllertags
:!ctags -o controllertags **/*Controller.php

который будет помечать только источники контроллера в отдельном файле тегов, чтобы вы могли продолжать работать с остальными настройками тегов, как и раньше (на случай, если вы уже использовали его для других вещей)

Другие вопросы по тегам