ฉันจะทราบได้อย่างไรว่าคีย์ใดถูกตั้งค่าเป็นของฉัน<Leader>
และฉันจะทำการแมปใหม่ได้อย่างไร
ฉันจะทราบได้อย่างไรว่าคีย์ใดถูกตั้งค่าเป็นของฉัน<Leader>
และฉันจะทำการแมปใหม่ได้อย่างไร
คำตอบ:
โดยค่าเริ่มต้นของคุณ<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
:help expr-string
ตัวอย่าง
let mapleader = ' '
ยังใช้งานได้สำหรับการตั้งค่า<Leader>
พื้นที่ หากมีผลข้างเคียงใด ๆ ที่เป็นไปได้โดยใช้ไวยากรณ์นี้คุณสามารถพูดถึงพวกเขาได้
maplocalleader
มีการตั้งค่าเป็นแบ็กสแลชตามค่าเริ่มต้น บางทีนั่นอาจเป็นความหมายของคำว่า "เหมือนกันmapleader
แต่ฉันไม่แน่ใจในตอนแรก
let mapleader = ","
หลังจากข้อเท็จจริงได้อย่างไร ฉันพยายามunlet mapleader
ด้วยlet mapleader = "\"
แต่ก็ไม่ได้ผล ฉันต้องการสิ่งนี้เพราะฉันกำลังใช้ชุดนี้github.com/amix/vimrcซึ่งมันแนะนำให้มีไฟล์การกำหนดค่าแยกต่างหากของฉันเอง มัดแผนที่ผู้นำไปยังเครื่องหมายจุลภาคดังนั้นฉันต้องการที่จะยกเลิกในไฟล์ config แยกของฉัน
คุณสามารถแสดงรหัสผู้นำปัจจุบันเช่นนี้ :let mapleader
E121: Undefined variable: mapleader
พยายามที่นี้ผมได้รับ
E121: Undefined variable: mapleader
นั่นหมายความว่ามันไม่ได้ตั้งค่าซึ่งจะใช้ค่าเริ่มต้นซึ่งเป็นแบ็กสแลช"\"
"\<Space>"
?