จะแสดงรายการตัวเลือกที่มีของปลั๊กอินได้อย่างไร?


10

ฉันเพิ่งพบว่าYouCompleteMeมี g:ycm_autoclose_preview_window_after_insertionตัวเลือกที่ซ่อนหน้าต่างแสดงตัวอย่างเอกสารโดยอัตโนมัติหลังจากออกจากโหมดแทรกและฉันเพิ่งเริ่มใช้ vim ด้วยดังนั้นนี่เป็นครั้งแรกที่ฉันตั้งค่าตัวเลือก

ดังนั้นฉันจึงสงสัยว่าปลั๊กอินอื่นที่ฉันยัดเยียดในสภาพแวดล้อมที่เป็นกลุ่มของฉันมีตัวเลือกให้ใช้งานหรือไม่โดยไม่ต้องค้นหาด้วยตนเอง

พวกเขาลงทะเบียนทั่วโลกเมื่อ vim เริ่มต้นเพื่อให้คำสั่งที่แสดงรายการพวกเขาพร้อมใช้งานหรือไม่สามารถทำได้?


คุณทำไม่ได้ จำเป็นต้องจัดทำเอกสารตัวแปรสำหรับปลั๊กอิน ไม่มีวิธีที่จะรู้ว่าตัวแปรใดที่ใช้โดยไม่อ่านโค้ด
Christian Brabandt

คำตอบ:


6

Vim ไม่มีวิธีใดที่จะรู้ตัวเลือกปลั๊กอินที่เป็นไปได้ทั้งหมด

ในฐานะนักเขียนปลั๊กอินฉันสามารถบอกคุณได้ว่ามันค่อนข้างซับซ้อนเนื่องจากมีหลายวิธีในการดำเนินการต่อ ตัวอย่างเช่นเราพิจารณาว่าหากผู้ใช้ปลายทางไม่ได้ระบุค่าสำหรับตัวเลือกใน.vimrcนั้นเราจะบังคับให้ตัวเลือกนี้มีอยู่และเท่ากับค่าเริ่มต้นหรือเราสามารถพูดได้ว่า: "ใช้ค่าที่กำหนดโดย ผู้ใช้ปลายทางหรือใช้ค่าเริ่มต้นที่ฮาร์ดโค้ด "

ด้วยวิธีการแรกนั้นผู้ใช้ปลายทางสามารถดูรายการตัวเลือกที่มีด้วยc_CTRL-Dหรือหรือc_TABอื่น ๆ

ปลั๊กอินมากขึ้นเลือกที่จะจัดระเบียบตัวเลือกทั้งหมดลงในพจนานุกรม กล่าวคือแทนที่จะต้องg:plugin_foo_optionและg:plugin_bar_optionเรามีและg:plugin.foo_option g:plugin.bar_optionวิธีนี้ช่วยหลีกเลี่ยงการทำให้รายการg:ตัวเลือกทั่วโลกไม่สมบูรณ์ แต่เราสูญเสียการเติมข้อความอัตโนมัติในบรรทัดคำสั่ง

จนถึงตอนนี้ฉันได้พูดคุยเกี่ยวกับทางเลือกระดับโลกเท่านั้น ปลั๊กอินส่วนใหญ่ไม่พยายามที่จะสนับสนุนตัวเลือกที่เฉพาะเจาะจงมากขึ้นแม้ว่าพวกเขาควรจะทำมัน ตัวอย่างเช่นฉันเสียใจที่ไม่ได้ใช้YouCompleteMeหรือปลั๊กอินสำรองอื่น ๆ อีกมากมายให้ใช้ตัวเลือกเฉพาะโครงการแทนตัวเลือกระดับโลก แน่นอนขึ้นอยู่กับโครงการที่ฉันกำลังทำอยู่ฉันต้องการตั้งค่าตัวเลือกที่เกี่ยวข้องเป็นค่าที่แตกต่างกัน น่าเสียดายที่นี่ไม่ใช่ขั้นตอนการทำงานที่พิจารณา ในปลั๊กอินของฉันมีตัวเลือกมากมายที่สามารถใช้เฉพาะกับโปรเจ็กต์หรือตามบัฟเฟอร์ เมื่อไม่นานมานี้ฉันได้ทำการทดลองเกี่ยวกับเรื่องนี้ แต่ถึงแม้จะมีคู่g:plugin_option+ ธรรมดาและธรรมดาb:plugin_optionแต่ก็เป็นไปไม่ได้ที่จะรู้ว่าตัวเลือกทั้งหมดที่มีอยู่

บางครั้งฉันพยายามเสนอคำสั่งที่ช่วยในการตั้งค่าตัวเลือกเช่นเดียวกับ build-tools-wrappers หรือแม้กระทั่งแสดงตัวเลือกบางอย่างในเมนู (เมื่อใช้ gvim) แต่มันไกลเกินจริงจากความสมบูรณ์แบบ

ฉันกลัวว่าเอกสารเป็นสิ่งที่ดีที่สุด :h pluginname^Dคุณยังสามารถลอง มันอาจเป็นวิธีการที่ดีที่สุด


คำอธิบายที่ดีของตัวเลือกที่อยู่เบื้องหลัง และ:h pluginnameมันยอดเยี่ยมจริง ๆ ! ดังนั้นฉันไม่ต้องไปเป็นกลุ่มหลาย ๆ ครั้งเพื่ออ่านเอกสารประกอบของปลั๊กอินต่างๆ
Iulian Onofrei

2

Vim ไม่มีการอ้างอิงถึงตัวเลือกที่มีอยู่ สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือการดูว่ามีการเริ่มต้นอะไร

:setสำหรับกลุ่มในตัวของตัวเลือกมีคำสั่ง จาก:h :set:

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

คุณจะไม่เห็นตัวเลือกทั้งหมดที่มีอยู่เฉพาะตัวเลือกที่คุณแก้ไข

คุณยังสามารถใช้:letเพื่อแสดงรายการค่าตัวแปรทั้งหมดที่ประกาศและ:let g:สำหรับรายการตัวแปรส่วนกลาง (ดู:h E121รายการตัวแปรที่คุณสามารถแสดงได้)

โปรดทราบว่ารายการเหล่านี้ไม่ใช่เรื่องง่ายที่จะอ่าน / แยกวิเคราะห์ สำหรับปลั๊กอินตัวเลือกที่ดีที่สุดของคุณคือการอ่านเอกสารและค้นหาตัวเลือกที่คุณต้องการ

คุณอาจสนใจเคล็ดลับนี้เพื่อแสดงสภาพแวดล้อมที่เป็นกลุ่ม


ยอมรับคำตอบอื่น ๆ เนื่องจากมีคำอธิบายที่ละเอียดกว่าแม้ว่าจะมีคำสั่งที่น่าสนใจเกี่ยวกับคำถามของฉันที่อาจช่วยได้
Iulian Onofrei
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.