ฉันจะทราบได้อย่างไรว่า <Leader> ตั้งค่าไว้ที่ใด และเป็นไปได้ไหมที่จะทำการแมปใหม่อีกครั้ง


64

ฉันจะทราบได้อย่างไรว่าคีย์ใดถูกตั้งค่าเป็นของฉัน<Leader>และฉันจะทำการแมปใหม่ได้อย่างไร

คำตอบ:


62

โดยค่าเริ่มต้นของคุณ<leader>คือ\แบ็กสแลช คุณสามารถตรวจสอบกับ:

:echo mapleader

หากวิธีนี้จะช่วยให้คุณก็หมายความว่ามีการตั้งค่าเริ่มต้นของE121: Undefined variable: mapleader \ถ้ามันให้สิ่งอื่นกับคุณนั่นคือ :-)

คุณสามารถทำการแมปใหม่ได้อย่างง่ายดาย ฉันทำแผนที่กับ space-bar:

:let mapleader = "\<Space>"

โปรดทราบว่ามีการใช้ค่าของmapleaderในขณะที่มีการทำแผนที่ ดังนั้นตัวอย่างนี้:

let mapleader = ","
nnoremap <Leader>a :echo "Hey there ,"<CR>

let mapleader = "\<Space>"
nnoremap <Leader>a :echo "Hey there space"<CR>

จะผลิตทั้งสองแมป: และ,a<Space>a

ซึ่งหมายความว่ามูลค่าปัจจุบันของmapleaderไม่จำเป็นต้องเป็นค่าที่ใช้ในการกำหนดการแมปของคุณ!

นอกจากนี้ยังมีสิ่งmaplocalleaderที่เหมือนกันmapleaderยกเว้นว่ามันถูกใช้โดย<LocalLeader>และมันอยู่ในท้องถิ่นของบัฟเฟอร์ปัจจุบัน

ข้อมูลเพิ่มเติมเกี่ยวกับสามารถพบได้ในความช่วยเหลือที่เป็นกลุ่มที่มี<Leader>:help mapleader


3
ทำไมเราต้องทับขวาใน"\<Space>"?
thameera

10
จำเป็นต้องใช้แบ็กสแลชเพราะมิฉะนั้นกลุ่มจะรับรู้ "<Space>" เป็นสตริงปกติและไม่ใช่รหัสสำหรับคีย์ช่องว่าง ดู:help expr-stringตัวอย่าง
tokoyami

1
เพียงแค่ทราบ: เช่นlet mapleader = ' 'ยังใช้งานได้สำหรับการตั้งค่า<Leader>พื้นที่ หากมีผลข้างเคียงใด ๆ ที่เป็นไปได้โดยใช้ไวยากรณ์นี้คุณสามารถพูดถึงพวกเขาได้
Daniel Andersson

ปรากฏว่าmaplocalleaderมีการตั้งค่าเป็นแบ็กสแลชตามค่าเริ่มต้น บางทีนั่นอาจเป็นความหมายของคำว่า "เหมือนกันmapleaderแต่ฉันไม่แน่ใจในตอนแรก
ดาวอังคาร

ฉันจะยกเลิกlet mapleader = ","หลังจากข้อเท็จจริงได้อย่างไร ฉันพยายามunlet mapleaderด้วยlet mapleader = "\"แต่ก็ไม่ได้ผล ฉันต้องการสิ่งนี้เพราะฉันกำลังใช้ชุดนี้github.com/amix/vimrcซึ่งมันแนะนำให้มีไฟล์การกำหนดค่าแยกต่างหากของฉันเอง มัดแผนที่ผู้นำไปยังเครื่องหมายจุลภาคดังนั้นฉันต้องการที่จะยกเลิกในไฟล์ config แยกของฉัน
ไมเคิล

8

คุณสามารถแสดงรหัสผู้นำปัจจุบันเช่นนี้ :let mapleader


4
E121: Undefined variable: mapleaderพยายามที่นี้ผมได้รับ
Praxeolitic

ด้วยเหตุผลบางอย่างเมเปิ้ลไม่ได้ถูกตั้งค่าหรือไม่ได้รับ
craigp

5
โอ้เข้าใจแล้ว เพียงแค่ทราบสำหรับคนอื่นถ้าคุณไม่ได้ตั้งรหัสผู้นำอย่างชัดเจนแล้วคุณจะได้รับข้อผิดพลาดข้างต้น
Praxeolitic

ถ้าคุณได้รับE121: Undefined variable: mapleaderนั่นหมายความว่ามันไม่ได้ตั้งค่าซึ่งจะใช้ค่าเริ่มต้นซึ่งเป็นแบ็กสแลช"\"
wisbucky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.