Bir eklentinin mevcut seçenekleri nasıl listelenir?


10

Son zamanlarda , ekleme modundan çıktıktan sonra belge önizleme penceresini otomatik olarak gizleyen YouCompleteMebir g:ycm_autoclose_preview_window_after_insertionseçeneğe sahip olduğunu öğrendim ve son zamanlarda vim kullanmaya başladım, bu yüzden ilk kez bir seçenek ayarladım.

Bu yüzden vim ortamımda tıka basa doldurduğum diğer eklentilerin el ile arama yapmadan seçeneklerinin olup olmadığını merak ettim.

Vim başlatıldığında, bunları listeleyen bir komutun kullanılabilir olması için küresel olarak kayıtlılar mı yoksa bu yapılamaz mı?


Yapamazsın. Eklentiler için değişkenlerin belgelenmesi gerekir. Kodu okumadan hangi değişkenlerin kullanıldığını bilmenin bir yolu yoktur.
Christian Brabandt

Yanıtlar:


6

Vim, olası tüm eklenti seçeneklerini bilmenin bir yolunu sunmaz.

Bir eklenti yazarı olarak, ilerlemenin birçok farklı yolu olduğu için bunun oldukça karmaşık olduğunu söyleyebilirim. Örneğin, ya son kullanıcı, içinde bir seçenek için bir değer .vimrcsağlamadıysa, bu seçeneği var olmaya ve varsayılan bir değere eşit olmaya zorladığımızı ya da şunu söyleyebiliriz: "ya msgstr "% s: son kullanıcı veya sabit kodlu bir varsayılan değer kullanın" #:.

Bu ilk yaklaşımla, son kullanıcı a c_CTRL-Dveya c_TABvb. İle kullanılabilir seçeneklerin listesini görebilir .

Giderek daha fazla eklenti tüm seçeneklerini sözlükte düzenlemeyi tercih ediyor. yani sahip yerine g:plugin_foo_optionve g:plugin_bar_optionbiz var g:plugin.foo_optionve g:plugin.bar_option. Bu g:, global seçenekler listesini kirletmekten kaçınır , ancak komut satırı otomatik tamamlamayı kaybederiz (sonunda vim github'da konuyla ilgili bir sorun açabilirim).

Şimdiye kadar sadece küresel seçenekler hakkında konuştum. Çoğu eklenti, yapmış olsalar bile daha spesifik seçenekleri desteklemeye çalışmaz. Örneğin, ne YouCompleteMe ne de alternatifi veya diğer pek çok eklentinin , global seçenekler yerine projeye özgü seçenekleri kullanmadığı için üzgünüm . Gerçekten, üzerinde çalıştığım projeye bağlı olarak, ilgili seçenekleri farklı değerlere ayarlamak istiyorum. Ne yazık ki, bu onların düşündükleri bir iş akışı değildir. Eklentilerimde birçok seçenek proje bazında veya arabellek bazında uzmanlaşabilir. Son zamanlarda bu konuda bir deney yaptım . Ancak her zamanki ve basit g:plugin_option+ b:plugin_optionçiftle bile, mevcut tüm seçenekleri bilmek imkansızdır.

Bazen, build-tools-wrappers ile yaptığım gibi seçeneklerin ayarlanmasına yardımcı olan komutları sunmaya çalışırım, hatta menüde (gvim kullanırken) bazı seçenekleri göstermeye çalışırım, ancak gerçekten mükemmel olmaktan çok uzaktır.

Korkarım belgelerin mevcut en iyi şey olduğunu. Hatta deneyebilirsiniz :h pluginname^D. Muhtemelen mevcut olan en iyi yaklaşımdır.


Sahne arkasındaki seçeneklerin büyük açıklaması. Ve :h pluginnameaslında çok harika! Bu yüzden farklı eklentilerin belgelerini okumak için vim'den birkaç kez uzaklaşmak zorunda değilim.
Iulian Onofrei

2

Vim'in mevcut seçeneklerle ilgili bir referansı yoktur. yapabileceğiniz en iyi şey nelerin başlatıldığını görmek.

Vim'in yerleşik seçenekleri için komut var :set. Gönderen :h :set:

:se[t] Show all options that differ from their default value.

Mevcut tüm seçenekleri görmezsiniz, yalnızca değiştirdiğiniz seçenekleri göremezsiniz.

:letBildirilen tüm değişkenlerin değerini :let g:ve genel değişkenlerin bir listesini listelemek için de kullanabilirsiniz . (Gösterebileceğiniz :h E121değişkenin bir listesi için bakınız ).

Bu listelerin okunması / ayrıştırılması her zaman kolay değildir. Eklentiler için en iyi seçeneğiniz belgeleri okumak ve ihtiyacınız olan seçeneği bulmaktır.

Ayrıca bu vikia ipucu vim ortamını görüntülemek için ilginizi çekebilir


Diğer cevabı daha ayrıntılı olduğu için kabul ettim, ancak bu soruya yardımcı olabilecek ilginç komutlar içeriyor.
Iulian Onofrei
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.