2013-04-28 40 views
17

tôi vừa cài đặt YouCompleteMe cho Vim thông qua vundle. Nó hoạt động, nhưng nó chỉ hiển thị các từ chứa trong tập tin hiện tại. Tôi muốn sử dụng nó để phát triển các chương trình C++, làm thế nào tôi có thể cấu hình nó để hiển thị tự động hoàn thành từ tập tin tiêu đề C++ trong/usr/include chẳng hạn? Cảm ơn rất nhiều.Cấu hình Vim YouCompleteMe

+2

Bạn cần xây dựng và cài đặt tiếng kêu để hoàn thành ngữ nghĩa. Bạn đã làm theo quy trình cài đặt chi tiết trong YCM readme chưa? – romainl

+0

Có, tôi làm theo hướng dẫn nhưng tôi chỉ nhận được tự động hoàn thành cục bộ. Theo thứ tự tôi đã cài đặt YCM như một gói gói và tôi đã thực thi kịch bản cài đặt nằm trong thư mục YCM. Có một số loại cấu hình mà tôi đã bỏ lỡ? – mastergap

+8

Bạn đã làm './install.sh --clang-completer' hoặc'./Install.sh'? – romainl

Trả lời

0

Trong khi các đề xuất ở đây có thể hoạt động ngay từ đầu, tôi không chắc đó là cách thích hợp để đi. Theo nhà phát triển YCM, bất cứ khi nào bạn bắt đầu một dự án, bạn cần một mới .ycm_extra_conf.py tập tin

Từ https://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64-super-quick-installation

YCM tìm kiếm một tập tin .ycm_extra_conf.py trong thư mục của tập tin mở hoặc trong bất kỳ thư mục nào ở trên nó trong cấu trúc phân cấp (đệ quy); khi tập tin được tìm thấy, nó được nạp (chỉ một lần!) như là một mô-đun Python. YCM gọi phương thức FlagsForFile trong mô-đun đó sẽ cung cấp cho nó thông tin cần thiết để biên dịch tệp hiện tại. Bạn cũng có thể cung cấp đường dẫn đến tệp .ycm_extra_conf.py toàn cục, tệp này sẽ được sử dụng làm dự phòng. Để ngăn chặn việc thực thi mã độc hại từ một tệp bạn không viết YCM sẽ yêu cầu bạn một lần cho mỗi .ycm_extra_conf.py nếu nó an toàn để tải. Điều này có thể bị vô hiệu hóa và bạn có thể các tệp danh sách trắng/đen. Xem phần Tùy chọn để biết thêm chi tiết.

Mặc dù bạn chỉ có thể cần sửa đổi cờ biên dịch từ vanilla .ycm_extra_conf.py, tôi cảm thấy bạn nên tạo tệp mới cho mọi dự án bạn bắt đầu.

18

Bạn cần điều hướng đến ~/.vim/bundles/YouCompleteMe và chạy tập lệnh cài đặt với --clang-completer, do đó, ./install.sh --clang-completer. Sau khi nó kết thúc, bạn nên có hỗ trợ cho C như ngôn ngữ.

Bạn cũng có thể cần đặt let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py' trong số ~/.vimrc.

+8

cho phiên bản ycm mới, thay đổi thành: 'let g: ycm_global_ycm_extra_conf =" .vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py "' –

+2

đối với tôi có vẻ như hoàn toàn mệt mỏi và không trực quan để xác định cấu hình này. Tại sao tôi cần đặt cấu hình này thành tệp ẩn sâu trong thư mục plugin? Đối với tôi điều này chỉ cảm thấy sai. – Arne

6

Tôi đã cài đặt với tác nhân gây bệnh. Tôi đã thử các hướng dẫn ở trên với ./install.sh --clang-complete. Sau đó, nó không hoạt động, và tôi thực sự phải thêm đường dẫn. Nhưng nó khác với câu trả lời khác ở đây, cụ thể là

let g:ycm_global_ycm_extra_conf = '.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' 

để có thêm "third_party/ycmd" trong đường dẫn.

+0

cảm ơn rất nhiều :) đã giải quyết được sự cố của tôi –

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