Vim Завершение ключевого слова - PullRequest
11 голосов
/ 21 ноября 2008

Как сообщить редактору Vim о моем пути к включаемым файлам, чтобы он мог автоматически завершать имена функций при нажатии CTRL + N ?

Например, у меня есть программа на C, как показано ниже:

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

Ответы [ 3 ]

19 голосов
/ 21 ноября 2008

В вашем .vimrc добавьте пути к вашему .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)

Вы также можете проверить пути, открыв файл и введя

:checkpath

Это даст вам список всех включенных файлов, которые отсутствуют. Нотабене Кажется, он не обрабатывает директивы препроцессора, поэтому вы получите ложные срабатывания. Ввод

:checkpath!

Предоставит полный список найденных и отсутствующих включаемых файлов.

16 голосов
/ 21 ноября 2008

Кроме того, важно отметить, что есть много функций завершения.

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

см.

:help ins-completion 

для более.

3 голосов
/ 26 октября 2010

Vim также может знать путь, если файлы находятся в стандартном месте. использует опцию 'complete', а флаг i сканирует включенные файлы. Чтобы добавить i в 'complete':

set complete+=i

вы также можете получить файл тегов из символов, которые вы хотите завершить, которые вы можете использовать с:

set complete+=t

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...