2008-11-21 6 views
11
ViM

Comment puis-je dire à propos de l'éditeur Vim mon chemin de recherche de fichiers afin qu'il puisse remplir automatiquement les noms de fonction lorsque j'appuie sur CTRL +N?mots-clés achèvement

Par exemple, j'ai un programme C comme ci-dessous:

#include<stdio.h> 
int main() 
{ 
    sca // here I press control+N, it does not complete to scanf 
} 
+0

J'utilise sur vim les fenêtres – chappar

Répondre

19

Dans votre .vimrc, ajoutez les chemins à votre .vimrc:

set path+=/usr/include/** 
set path+=/my_include_dir/include 
set path+=/my_include_dir/srclib/apr/** 
set path+=/my_other_include_dir/srclib/apr-util/** 

** means all sub-directories. 
* means all contained directories 
. means all files in the directory of the found file 
+= means prepend to existing path (iirc) 

Vous pouvez vérifier les chemins et en ouvrant votre fichier, puis en entrant

:checkpath 

Cela vous donnera une liste d'un ll inclus les fichiers manquants. N.B. Il ne semble pas gérer les directives du préprocesseur, donc vous obtiendrez des faux positifs. Saisie

:checkpath! 

donnera une liste complète des trouvé et manquant d'inclure des fichiers.

16

Il est également important de noter qu'il existe de nombreuses fonctions d'achèvement.

^x ^o = "omnicomplete" 
^x ^i = "included-files completion" 
^x ^f = "path completion" 
^x ^l = "Complete this line using one that looks the same" 

voir

:help ins-completion 

pour plus.

3

Vim peut également connaître le chemin d'accès si les fichiers se trouvent dans un emplacement standard. < C-n > utilise l'option 'complete' et le flag i scanne les fichiers inclus. Pour ajouter i à « complet »:

set complete+=i

vous pouvez également obtenir un fichier de balises des symboles que vous voulez REMPLI, que vous pouvez utiliser avec:

set complete+=t

Questions connexes