คำสั่ง Un-mapping ใน Vim


16

ดังนั้นฉันกำลังมองหาวิธีการเยื้องหลายบรรทัดในกลุ่มและมีคนแนะนำให้ทำ

:map <Tab> <

และทุกอย่างมันคือการใส่<ตัวละครทุกครั้งที่ฉันกดแท็บ (ฉันไม่เห็นมันเกิดขึ้น) ฉันพยายามทำ:map <Tab> <Tab>และ:map <Tab> \tนำกลับมาเยื้องเป็นประจำโดยไม่ประสบความสำเร็จ ฉันใหม่กับvimการทำแผนที่ที่สำคัญดังนั้นฉันจะขอบคุณความช่วยเหลือจริงๆ นอกจากนี้หากมีคนชี้ให้เห็นวิธีเยื้องหลายบรรทัดในvimนั้นจะน่ากลัว

ขอบคุณล่วงหน้า!


2
:unmap vim.wikia.com/wiki/Mapping_keys_in_Vim_-_Tutorial_(Part_1) Google เป็นเพื่อนของคุณ
Adam Liss

1
@AdamLiss Google เป็นเพื่อนของฉันมานานแล้ว
Grigor

คำตอบ:


25

:unmap <Tab> เพื่อรับพฤติกรรมเริ่มต้นกลับมา

ใช้:x>>เพื่อเยื้องเส้นจำนวน x (จากที่เคอร์เซอร์อยู่)


: unmap <Tab> ไม่ทำเคล็ดลับ .. ด้วยเหตุผลบางอย่าง: /
Grigor

มันใช้งานได้สำหรับฉัน
doubleDown

6
@Grigor map <Tab> <ในคำถามของคุณที่คุณอ้างว่าคุณใช้ หากต้องการยกเลิกคำสั่งที่ถูกต้องนี้เป็นที่แน่นอนunmap <Tab>แต่ข้อความถัดไป (“ทั้งหมดมันไม่แทรก<ตัวอักษร”) หมายถึงการที่อ้างว่าเดิมเป็นเท็จ มีวิธีที่คุณสามารถใส่ไม่<กับการทำแผนที่ดังกล่าว imap <Tab> <แต่มันจะเป็นจริงถ้าคุณเขียน นี้คำสั่งยกเลิกการใช้iunmap <Tab>(หมายเหตุiในคำสั่งทั้งสอง) เพื่อให้ได้คำตอบที่ถูกต้องคุณต้องแม่นยำ
ZyX

หมายเหตุในกรณีที่มีคนต่อสู้แบบเดียวกันกับฉันถ้าการแมปดั้งเดิมเป็นบัฟเฟอร์ในพื้นที่การแมปจะต้องเป็นเช่นนั้น:iunmap <buffer> <Tab>
cristoper

0

วิธีนี้แก้ไขปัญหาเพื่อย้อนกลับแท็บกลับ

:imap <Tab> <C-t>
:imap <S-Tab> <C-d>

กดTabเยื้องรหัสShift-Tabแปลงเยื้องรหัส


3
:iunmap <Tab>คุณยังสามารถใช้ หาก<Tab>แมปโดย:imapคุณต้องใช้:iunmapเพื่อยกเลิกการแมป :unmap <Tab>ไม่ทำงานในกรณีนี้
Hai Feng Kao
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.