2008-11-21 35 views
11

Làm cách nào để thông báo cho trình chỉnh sửa Vim về đường dẫn tệp bao gồm của tôi để nó có thể tự động hoàn thành tên hàm khi tôi nhấn CTRL + N?Hoàn thành từ khóa Vim

Ví dụ, tôi có một chương trình C như dưới đây:

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

Tôi đang sử dụng vim trên các cửa sổ – chappar

Trả lời

19

Trong .vimrc của bạn, thêm các đường dẫn đến .vimrc của bạn:

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) 

Bạn có thể kiểm tra các đường dẫn cũng bằng cách mở của bạn và sau đó nhập

:checkpath 

Điều này sẽ cung cấp cho bạn danh sách sẽ bao gồm các tệp bị thiếu. N.B. Nó dường như không xử lý các chỉ thị tiền xử lý, vì vậy bạn sẽ nhận được một số dương tính giả. Nhập

:checkpath! 

Sẽ cung cấp danh sách đầy đủ các tệp được tìm thấy và bị thiếu bao gồm.

16

Ngoài ra, Lưu ý quan trọng là có nhiều hàm hoàn thành.

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

thấy

:help ins-completion 

để biết thêm.

3

Vim cũng có thể biết đường dẫn, nếu các tệp ở vị trí chuẩn. < C-n > sử dụng tùy chọn 'hoàn tất' và cờ bao gồm các tệp được quét i quét. Để thêm i để 'hoàn toàn':

set complete+=i

bạn cũng có thể nhận được một tập tin thẻ từ những biểu tượng mà bạn muốn hoàn thành, mà bạn có thể sử dụng với:

set complete+=t

Các vấn đề liên quan