<Leader> คืออะไร


36

ฉันเห็น<Leader>ค่อนข้างบ่อยในไฟล์ vimrc ของผู้อื่น แบบนี้

มันคืออะไร? มันทำอะไร?



10
Akshay: ไม่ใช่สิ่งที่ซ้ำกันที่ต้องการตรวจสอบคุณค่าของ<leader>สิ่งนี้ต้องการทราบว่า<leader>หมายถึงอะไร เพื่อให้สามารถตีความค่านั้นได้ มันคือความแตกต่างระหว่างการถามว่า "ในนิวตันโมชั่น v คืออะไร?" และ "เมื่อลูกแอปเปิ้ลตกลงมาจากต้นไม้สูง 10 ม. มันจะเกิดอะไรขึ้นเมื่อมันกระแทกพื้น '
Lyndon White

3
ดังนั้นจึงไม่มีความแตกต่างระหว่าง<Leader>และ<leader>ใช่ไหม
Nikos Alexandris

คำตอบ:


25

เป็นกลุ่มที่เต็มไปด้วยคำสั่งต่าง ๆ ซึ่งได้รับมอบหมายให้เกือบทุกปุ่มบนคีย์บอร์ด แต่สิ่งนี้ทำให้เกิดปัญหา: คำสั่งใดที่เราสามารถใช้สำหรับคำสั่งของเราเองโดยไม่รบกวนคำสั่งที่มีอยู่? และในตอนนี้<Leader>กุญแจก็เข้ามาเล่น คิดเกี่ยวกับ<Leader>-key เหมือนเนมสเปซสำหรับคำสั่งที่ผู้ใช้กำหนด คุณสามารถกำหนดคำสั่งใด ๆ ให้กับการแมปด้วยผู้นำ<Leader>และคุณมั่นใจได้อย่างเต็มที่ว่าการแมปของคุณจะไม่ทำลายอะไรเลย

คีย์เริ่มต้นสำหรับ<Leader>เป็นแบ็กสแลช


15

อ้างถึง:help <Leader>:

ในการกำหนดการจับคู่ที่ใช้ตัวแปร "mapleader <Leader>" สามารถใช้สตริงพิเศษ " " มันจะถูกแทนที่ด้วยค่าสตริงของ "เมเปิ้ล" หากไม่ได้ตั้งค่า "เมเดอร์" หรือว่างเปล่าจะใช้เครื่องหมายแบ็กสแลชแทน ตัวอย่าง:

   :map <Leader>A  oanother line<Esc>  

ทำงานเหมือน:

   :map \A  oanother line<Esc>  

แต่หลังจาก:

   :let mapleader = ","  

มันทำงานเหมือน:

   :map ,A  oanother line<Esc>

กล่าวอีกนัยหนึ่งมันอนุญาตให้<Leader>ผู้ใช้กำหนดคีย์แรกของการแมป (ที่ระบุในแง่ของ)


8
ฉันเชื่อว่าเหตุผลเบื้องหลัง<Leader>คือมันให้วิธี "สะอาด" แก่คุณในการจัดทำทางลัดที่กำหนดเองโดยไม่ต้องแทนที่ทางลัด Vim ที่มีอยู่
Martin Tournoij
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.