2012-11-15 35 views
7

Trong Vim, tôi thường thấy mình trong tình huống mà tôi muốn hoàn thành tên tệp của tệp mà tôi đang chỉnh sửa trong bộ đệm riêng biệt.Hoàn thành Vim Dựa trên Tên đệm

Giả sử tôi có hai bộ đệm mở: foo.cpp và bar.h. Trong foo.cpp tôi cần phải #include "bar.h". Tôi muốn làm một cái gì đó như thế này:

Foo.cpp

#include "b<complete filename to bar.h> 

Theo tài liệu Vim, tôi có thể sử dụng tổ hợp phím CTRL + x CTRL + f để làm hoàn thành tên tập tin, nhưng điều đó dường như dựa vào Vim có một TKT tương đương với thư mục mẹ của bar.h. Điều đó không phải lúc nào cũng có thể.

Cho rằng tôi có bar.h mở trong bộ đệm riêng biệt, có thể tự động điền dựa trên tên bộ đệm không?

Trả lời

6

Ý tưởng hay; hạn chế các ứng cử viên để tải bộ đệm whittles xuống danh sách các ứng cử viên, và cũng cho phép cho một trận đấu bất cứ nơi nào trong đường dẫn tập tin.

Để thực hiện việc này, bạn phải triển khai hoàn thành chế độ chèn tùy chỉnh. Tên tệp có thể được truy xuất bằng cách lặp lại bufname() trên tất cả các số bộ đệm từ 1 đến bufnr('$'). Tôi vừa thực hiện điều này là BufNameComplete plugin. Tôi hy vọng rằng phù hợp với nhu cầu của bạn (và của tôi).

+0

Công trình này tuyệt vời! Tôi đã cài đặt plugin và đang sử dụng nó ngay bây giờ. Cảm ơn nhiều! – rustushki

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