Разделите srcdir и objdir с помощью vim и gcc - PullRequest
0 голосов
/ 02 ноября 2010

Когда я работаю в vim, мой текущий рабочий каталог (./) содержит весь мой источник.Я строю в objdir, давайте назовем это ./builddir/.Когда я собираю из vim, используя makeprg=make\ -C\ builddir, все предупреждения и ошибки компилятора имеют префикс ../, что означает, что vim переводит курсор на файл, который не существует.

Если я пытаюсьдругая тактика, запуск vim из objdir, тогда я просто не могу выполнять такие команды, как gf или :e myfile.h.

Есть ли промежуточный уровень, где все это будет работать, например, предоставление vim второго каталогаискать, если не удается найти файлы в текущем рабочем каталоге?Или может заставить gcc использовать другой префикс?

1 Ответ

1 голос
/ 02 ноября 2010

Самое простое решение - отфильтровать выходные данные с помощью sed для замены имен выходных путей. (Я реализовал очень похожую вещь для преобразования имен путей cygwin в имена окон windows для win32-версии vim).

Что-то вроде:

:let &makeprg .= '2>&1 | sed "s#^\.\./##g"'

(может быть \|, а не |, я не помню)

...