Làm cách nào để loại trừ các phần mở rộng tệp nhất định khỏi hoàn thành?


14

Có cách nào để cấu hình vim liên quan đến loại tệp mà nó cho là "phù hợp" để mở không?

Hãy để tôi làm rõ bằng một ví dụ. Hãy tưởng tượng bạn đang làm việc trên một tài liệu latex. Khi bạn xây dựng tệp của mình, bạn có các mục sau trong thư mục của mình (cùng với các tệp khác liên quan đến bản dựng):

X.aux  X.log  X.out  X.pdf  X.tex

Bây giờ nếu bạn đang làm việc trên một tệp khác (giả sử Y.tex) và bạn muốn :sp X.tex, bạn có thể sử dụng <Tab>để chuyển qua các tệp có thể, nghĩa là:

:sp X<Tab>

Có vẻ như vim đã thực hiện lựa chọn các tệp mà bạn có khả năng muốn nhất và tự động hoàn thành các tệp đó trước. Đây là thứ tự mà vim của tôi là tự động hoàn thành các tệp:

X.pdf
X.tex
X.aux
X.log
X.out

Một lần nữa, có vẻ như vim đã quyết định tôi có thể muốn mở .pdfhoặc .textệp và đang trình bày chúng cho tôi trước và theo thứ tự bảng chữ cái. Sau đó, nó hiển thị phần còn lại của các tập tin, một lần nữa theo thứ tự bảng chữ cái. Đầu tiên, sự hiểu biết của tôi có đúng không?

Nếu vậy, làm thế nào tôi có thể nói với vim rằng nó không nên nghĩ rằng tôi quan tâm đến việc mở .pdftệp với nó? Bằng cách này, người đầu tiên <Tab>sẽ ngay lập tức lấy cho tôi .textệp như tệp tôi thực sự đang tìm kiếm.

Câu trả lời:


19

Bạn có thể sử dụng wildignore, ví dụ:

set wildignore+=*.pdf,*.o,*.obj,*.jpg,*.png

Nếu bạn muốn liệt kê chúng, nhưng ưu tiên thấp - danh sách ở cuối, một tùy chọn là sử dụng suffixes, ví dụ với:

set suffixes+=.pdf

Các tệp PDF sẽ được liệt kê, nhưng ở cuối danh sách tệp. Đọc lên :h suffixesvới các liên kết để biết thêm chi tiết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.