Я использую Emacs и трекер ревизий (Perforce) для связанных с работой вещей.
У меня есть множество (~ 10) разных клиентов для Perforce, которые имеют одинаковую файловую структуру.Я хотел бы сделать общие команды для перехода к каталогам в этих клиентах в Emacs.
Однако пути клиентов различны.Я хочу, чтобы навигация по каталогам была независимой от имени клиента;вместо этого имя клиента должно определяться динамически.
Например, вот несколько путей к моим клиентам:
/home/scratch/client1/hw/unit1/
/home/scratch2/client2/hw/unit2/
/home/scratch3/client3/hw/unit1/
Как видите, путь к каждому клиенту различен, хотя используется та же структура.Внутри каждого из этих клиентов файловая структура идентична.Таким образом, файл модуля каждого клиента будет иметь одинаковую структуру (т. Е. ip/src/
или некоторый эквивалентный путь)
Я вижу множество решений для закладок в каталогах, чтобы быстро перейти к ним, но мне нужно что-то, что работает динамическичерез всех моих клиентов, которые имеют немного разные пути.В настоящее время, если я использую функциональность закладок, он скопирует весь мой путь к клиенту в каталог, а не путь, основанный на клиенте, в котором я сейчас нахожусь.
Для меня это означало бы, что мне нужно что-то, что динамически определяетместоположение клиента, а затем показывает одинаковые файлы закладок в каждом клиенте.
Итак, скажем, я хочу, чтобы следующие три папки с закладками отображались в зависимости от текущего клиента, в котором я нахожусь:
/path/to/client/ip/src/bin
/path/to/client/ip/src/etc
/path/to/client/ip/src/inc
Как я могу сделать это в Emacs, чтобы клиентский путь (/path/to/client/
) динамически определялся в зависимости от того, где я запустил Emacs, и затем он добавляет фактический путь в клиенте к клиентскому пути (ip/src/bin
).
ПРИМЕЧАНИЕ. У меня есть псевдонимы bash для быстрого перехода к каталогам независимо от имени клиента.Но я бы хотел как можно больше свести к минимуму переключение между Emacs и командной строкой, найдя решение, которое работает прямо внутри Emacs.