ฉันจะทราบได้อย่างไรว่าคีย์ใดถูกตั้งค่าเป็นของฉัน<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>"?