Vim tidak menyediakan cara untuk mengetahui semua opsi plugin yang memungkinkan.
Sebagai penulis plugin saya dapat memberitahu Anda ini cukup rumit karena ada banyak cara untuk melanjutkan. Misalnya, kami menganggap bahwa jika pengguna akhir tidak memberikan nilai untuk opsi di dalamnya, .vimrc
maka kami memaksakan opsi ini ada dan sama dengan nilai default, atau kita dapat mengatakan: "ambil nilai yang ditetapkan oleh pengguna akhir, atau gunakan nilai default kode keras ".
Dengan pendekatan pertama itu, pengguna akhir dapat melihat daftar opsi yang tersedia dengan a c_CTRL-D
, atau c_TAB
, dll.
Semakin banyak plugin memilih untuk mengatur semua opsi mereka ke dalam kamus. yaitu, alih-alih memiliki g:plugin_foo_option
dan g:plugin_bar_option
, kita memiliki g:plugin.foo_option
dan g:plugin.bar_option
. Ini menghindari mencemari daftar g:
opsi global, tetapi kami kehilangan pelengkapan otomatis baris perintah (saya akhirnya dapat membuka masalah subjek, di vim github).
Sejauh ini saya hanya berbicara tentang opsi global. Sebagian besar plugin tidak mencoba untuk mendukung opsi yang lebih spesifik bahkan jika mereka seharusnya melakukannya. Sebagai contoh, saya menyesal bahwa YouCompleteMe atau alternatif , atau banyak plugin lainnya, tidak menggunakan opsi spesifik proyek alih-alih opsi global. Memang, tergantung pada proyek yang saya kerjakan saya ingin mengatur opsi masing-masing ke nilai yang berbeda. Sayangnya, ini bukan alur kerja yang mereka pertimbangkan. Dalam plugin saya, banyak opsi dapat dikhususkan pada basis proyek, atau berdasarkan buffer. Akhir-akhir ini saya datang dengan percobaan pada subjek. Tetapi bahkan dengan pasangan g:plugin_option
+ yang biasa dan sederhana b:plugin_option
, hampir tidak mungkin mengetahui semua opsi yang tersedia.
Kadang-kadang saya mencoba untuk menawarkan perintah yang membantu pengaturan opsi seperti yang saya lakukan dengan build-tools-wrappers, atau bahkan untuk menampilkan beberapa opsi di menu (ketika menggunakan gvim), tetapi itu benar-benar jauh dari sempurna.
Saya khawatir dokumentasinya adalah yang terbaik. Anda bahkan dapat mencoba :h pluginname^D
. Ini mungkin pendekatan terbaik yang tersedia.