2016-10-30 1 views
0

Я использую Fedora 24. Я пишу программы Ansi C в Vim, используя его собственное автозаполнение под^N. И все работает отлично, пока я определить библиотеку в другой файл, например так:Vim autocompletion из библиотеки, включенной в другой файл

fileA.c

#include <allegro5/allegro.h> 
#include "fileB.c" 

fileB.c

... 

Если я пытаюсь автозаполнение в fileA.c он смотрит вверх как в файле b, так и в библиотеке. Но в файле a он ищет только в файлеA.c. Как я могу найти функции библиотеки и константы в файлеB.c?

ответ

2

Когда вы находитесь в fileA.c, доработки вытягиваются (между другими местами) из всех включений в этот файл и включают в них рекурсивно.

Это происходит потому, что значение по умолчанию 'complete' содержит i.

Когда вы в fileB.c, доработки не могут быть вытянуты из любых включаемого, потому что вы, кажется, не имеют какой-либо, но они все еще могут быть выведены из текущего буфера (. в complete), другие буфера (w, b , u) и даже tags файлов (t).

Сказанное, что явное включение ресурса необходимо в C, если вы хотите его использовать, поэтому я не уверен, что разумно ожидать любого ресурса, который будет доступен в вашем коде без надлежащих включений.