Khi nào nên sử dụng thư mục after /?


13

Tôi hiểu đó là nơi để đưa những thứ nên có tiếng nói cuối cùng và không bị ghi đè bởi một nguồn khác, nhưng tôi không rõ làm thế nào để quyết định khi nào nên đưa thứ gì đó vào, nói, ~/.vim/after/ftplugin/thay vì ~/.vim/ftplugin/.

Có phải mọi người thường sử dụng ~/.vim/ftplugin/và chỉ di chuyển công cụ vào ~/.vim/after/ftplugin/nếu họ quan sát hành vi không mong muốn, hoặc họ chỉ đưa tất cả vào thư mục ngay lập tức?

Câu trả lời:


19

Nói chung, nếu bạn muốn thêm plugin của riêng bạn hoặc thay thế một plugin tiêu chuẩn bằng plugin của riêng bạn, nó sẽ đi vào ~/.vim/pluginhoặc ~/.vim/ftplugin. Thay vào đó, nếu bạn muốn giữ chức năng của một plugin hiện có nhưng thêm vào nó hoặc chỉ thay đổi một vài cài đặt do nó tạo ra, thì plugin của bạn sẽ đi vào ~/.vim/after/pluginhoặc ~/.vim/after/ftplugin.


Vì một số lý do, tôi luôn cho rằng Vim đã tìm kiếm runtimepath và tìm kiếm từng tệp phù hợp với tiêu chí tìm kiếm, thay vì chỉ tìm nguồn cung ứng phù hợp đầu tiên mà nó tìm thấy. Nó nghe có vẻ giống như những thứ trong thư mục sau có kiểu xử lý "bổ sung" đó, nhưng có lẽ mọi thứ khác được xử lý giống như biến Unix PATH hơn, trong đó trận đấu đầu tiên thắng?
ivan

4
Vim nguồn mỗi tệp phù hợp với tiêu chí tìm kiếm, nhưng các plugin được viết đúng có một bài kiểm tra gần đầu biểu mẫu của chúng , if exists("g:loaded_<plugin name>") finish endif let g:loaded_<plugin name> = 1. Plugin được tải trước "thắng" và các plugin tiếp theo có cùng tên thoát sớm thông qua finishlệnh. Đó là cách một plugin trong ~/.vim/pluginthư mục của bạn , ví dụ, có thể ngăn không cho plugin $VIMRUNTIME/plugintải hoàn toàn. Thử nghiệm đó không được bao gồm trong aftercác tập tin plugin.
garyjohn

Ok, tôi nghĩ rằng tôi nhận được nó ngay bây giờ. Vì tất cả các file phù hợp sẽ được nguồn gốc, sử dụng một finishbảo vệ-khoản khi bạn muốn tải chỉ là trận đấu đầu tiên, và sử dụng thư mục sau ( mà không một finishbảo vệ-khoản) khi bạn cần phải ghi đè cài đặt đó là bị ảnh hưởng bởi một trong những khác nguồn.
ivan

1

nếu vanilla vim nhận ra một kiểu tệp nhất định và bạn muốn sửa đổi hành vi được vận chuyển thì cài đặt của riêng bạn sẽ được đưa vào ~/.vim/after/ftplugin/

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.