ดังที่ฉันได้กล่าวไว้ในความคิดเห็นการแม็พในไม่ได้ออกแบบมาเพื่อทำสิ่งที่คุณต้องการจะทำ langmap
เป็นตัวเลือกที่น่าสนใจสำหรับใช้กรณีนี้คือ
ตัวเลือกนี้ช่วยให้การทำงานหรือแป้นพิมพ์ของคุณอยู่ในโหมดแทรกและเปลี่ยนการทำงานในโหมดอื่น ๆ
หากต้องการใช้งาน Vim จะต้องคอมไพล์ด้วย+langmap
คุณสามารถตรวจสอบว่าตัวเลือกนี้เปิดใช้งานด้วยecho has('langmap')
: หากคำสั่งส่งคืน1
ตัวเลือกถูกเปิดใช้งานมิฉะนั้นคุณจะต้องตั้งค่าด้วยตัวเลือกนี้ที่เปิดใช้งาน (เพื่อทราบวิธีการทำ เป็นคำถามอื่น)
เมื่อเปิดใช้งานตัวเลือกใช้คู่ของตัวละครตัวอย่างเช่นset langmap += à@
จะช่วยให้คุณเพิ่มà
ในบัฟเฟอร์ของคุณเมื่อคุณอยู่ในโหมดแทรกและคุณพิมพ์à
แต่การพิมพ์à
ในโหมดปกติจริงจะก่อให้เกิด@
(ตัวอย่างนี้จะมีประโยชน์กับ azerty แป้นพิมพ์เพื่อความสะดวกในการทำงานกับมาโคร)
หากต้องการใช้ langmap ในภาษากรีกคุณสามารถทำตามตัวอย่างที่ให้ไว้ใน:h 'langmap'
การเพิ่มบรรทัดนี้ในของคุณvimrc
(การคัดลอกบรรทัดนี้จากที่นี่อาจไม่เป็นความคิดที่ดีเนื่องจากฉันไม่แน่ใจเกี่ยวกับการเข้ารหัสจริงๆปลอดภัยกว่า) :
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
ตอนนี้จากสิ่งที่ฉันเข้าใจในความคิดเห็นของคุณมันยังคงเป็นปัญหาเมื่อคุณพยายามใช้คำสั่งที่กำหนดไว้ล่วงหน้า: เมื่อคุณพิมพ์คำสั่งลักษณะการทำงานของโหมดแทรกจะถูกทริกเกอร์แทน langmap ที่กำหนดไว้ น่าเสียดายที่ฉันไม่แน่ใจว่าฉันมีทางออกที่ดีสำหรับสิ่งนั้น แนวคิดหนึ่งที่สามารถกำหนดคำสั่งใหม่ได้เช่น:
command λς lw
ด้วยวิธีนี้เมื่อคุณจะพิมพ์คำสั่งเป็นλς
กลุ่มจะทำงานlw
แต่ฉันเห็นข้อเสียเปรียบหลายวิธีนี้
- มันอาจเป็นความเจ็บปวดครั้งใหญ่ในก้นเพื่อกำหนดคำสั่งทั้งหมดที่คุณต้องการใช้ใหม่
- คำสั่งที่ผู้ใช้กำหนดต้องเริ่มต้นด้วยตัวพิมพ์ใหญ่และตอนนี้ฉันคิดว่ามันสะดวกแค่ไหนในภาษากรีก
ดังนั้นบางทีปลั๊กอินที่แนะนำโดย @Alexander Myshov ในคำตอบของเขาสำหรับคำถามนี้อาจมีประโยชน์ (เพราะฉันไม่เคยลองสิ่งเหล่านี้เลยฉันไม่รู้ว่าพวกเขาแก้ปัญหาได้หรือไม่ แต่ดูเหมือนว่าพวกเขาทำ)
langmap
ตัวเลือก (ดูเอกสารที่มีตัวอย่างสำหรับรูปแบบกรีก) ตัวเลือกนี้ถูกสร้างขึ้นมาเพื่อช่วยจัดการกับแป้นพิมพ์ที่ไม่ใช่ละตินเช่นกรีกหรือไซริลลิก อนุญาตให้คุณกำหนดสัญลักษณ์คู่ซึ่งจะตีความตามปกติในโหมดแทรก แต่จะถูกแทนที่ในโหมดอื่นบางทีนี่อาจช่วยคุณได้