Vim không cung cấp bất kỳ cách nào để biết tất cả các tùy chọn plugin có thể.
Là một người viết plugin tôi có thể nói với bạn điều này khá phức tạp vì có nhiều cách khác nhau để tiến hành. Chẳng hạn, chúng tôi xem xét rằng nếu người dùng cuối không cung cấp giá trị cho tùy chọn .vimrc
thì chúng tôi buộc tùy chọn này tồn tại và bằng với giá trị mặc định hoặc chúng tôi có thể nói: "hoặc lấy giá trị được đặt theo người dùng cuối hoặc sử dụng giá trị mặc định được mã hóa cứng ".
Với cách tiếp cận đầu tiên đó, người dùng cuối có thể xem danh sách các tùy chọn khả dụng với a c_CTRL-D
, hoặc c_TAB
, v.v.
Ngày càng có nhiều plugin chọn tổ chức tất cả các tùy chọn của chúng thành từ điển. tức là, thay vì có g:plugin_foo_option
và g:plugin_bar_option
, chúng ta có g:plugin.foo_option
và g:plugin.bar_option
. Điều này tránh làm ô nhiễm danh sách g:
các tùy chọn toàn cầu, nhưng chúng tôi mất tự động hoàn thành dòng lệnh (cuối cùng tôi có thể mở một vấn đề của chủ đề, trên vim github).
Cho đến nay tôi chỉ nói về các lựa chọn toàn cầu. Hầu hết các plugin không cố gắng hỗ trợ các tùy chọn cụ thể hơn ngay cả khi chúng nên làm điều đó. Chẳng hạn, tôi lấy làm tiếc rằng cả YouCompleteMe cũng không thay thế , cũng không có nhiều plugin khác, sử dụng các tùy chọn cụ thể của dự án thay vì tùy chọn toàn cầu. Thật vậy, tùy thuộc vào dự án tôi đang làm việc mà tôi muốn đặt các tùy chọn tương ứng của chúng thành các giá trị khác nhau. Thật không may, đây không phải là một luồng công việc mà họ đã xem xét. Trong các plugin của tôi, nhiều tùy chọn có thể được chuyên môn hóa trên cơ sở dự án hoặc trên cơ sở bộ đệm. Gần đây tôi đã đưa ra một thử nghiệm về chủ đề này. Nhưng ngay cả với cặp g:plugin_option
+ thông thường và đơn giản b:plugin_option
, bên cạnh không thể biết tất cả các tùy chọn có sẵn.
Đôi khi, tôi cố gắng cung cấp các lệnh giúp thiết lập các tùy chọn như tôi đã thực hiện với trình bao bọc công cụ xây dựng hoặc thậm chí để hiển thị một số tùy chọn trong menu (khi sử dụng gvim), nhưng nó thực sự không hoàn hảo.
Tôi sợ rằng tài liệu này là thứ tốt nhất hiện có. Bạn thậm chí có thể thử a :h pluginname^D
. Đây có lẽ là cách tiếp cận tốt nhất có sẵn.