У меня есть система навигации по коду по нескольким файлам в огромной базе кода, и я хочу исправить / исправить недостаток, который у нее есть в настоящее время:
Моя оболочка предварительно настроена для открытия накорень моей кодовой базы - назовем его Dev /.Во время синхронизации / построения кода у меня есть скрипт, который автоматически сохраняет относительный путь всех файлов .h и .c в одном файле, который будет использоваться cscope (назовем его cscope.files).
После того, как ясинхронизировать, этот файл обновляется - и затем я могу открыть любой файл, который я хочу в vim, используя следующую команду из Dev /:
vif "part of file name",
, где
vif: aliased to vi `grep !:1 cscope.files`
При условии, что я даю частьимени файла достаточно долго, чтобы однозначно идентифицировать его, я могу сразу открыть его в vim.
Теперь недостатком этого подхода является то, что когда я уже открыл один файл и перешел на другой файл , не выходя из vim , единственный способ, которым я могу это сделать, - это
:!vif *file2*
Это порождает новую оболочку, а затем открывает файл в vim, запущенном там.В результате я не могу переключаться между двумя файлами (используя Ctrl- ^).Я не могу найти решение, которое:
a) Позволяет мне открыть любой файл из Dev / мгновенно
b) Позволяет мне открыть любой другой файл внутри vim (как только яоткрыл существующий файл) в той же оболочке, чтобы 2 сеанса vim знали друг о друге (я могу переключаться между двумя с помощью Ctrl - ^)
Я знаю, что это длинный вопрос (какGoogle это :)), но я держу пари, что решение простое и очевидное для кого-то более опытного в VIM!
Дайте мне знать, если какая-то часть вопроса нечеткая, и я проясню это ...
ОБНОВЛЕНИЕ: Я в конечном итоге пошел путем cscope после настройки с помощью ярлыка (как при использовании«gf» на cscope.files все еще не давал мне переключаться между двумя исходными файлами).См. VIM 7 и cscope: использование «cscope find f» внутри раскладки клавиатуры для переключения между файлами для быстрого доступа.