ฉันได้ตั้งค่าexpandtab
ใน.vimrc
ไฟล์ของฉันให้แปลงtab
เป็นหลายspace
อักขระ อย่างไรก็ตามบางไฟล์ (เช่น Makefile) จำเป็นต้องมีtab
อักขระจริง
มีวิธีง่าย ๆ ในการบังคับให้แทรกเมื่อtab
ฉันพิมพ์หรือไม่?
ฉันได้ตั้งค่าexpandtab
ใน.vimrc
ไฟล์ของฉันให้แปลงtab
เป็นหลายspace
อักขระ อย่างไรก็ตามบางไฟล์ (เช่น Makefile) จำเป็นต้องมีtab
อักขระจริง
มีวิธีง่าย ๆ ในการบังคับให้แทรกเมื่อtab
ฉันพิมพ์หรือไม่?
คำตอบ:
แทนที่จะเป็นเพียงการกดปุ่มTabกดครั้งแรกและจากนั้นกดCtrl-VTab
สามารถใช้เพื่อแทรกตัวอักษรพิเศษต่าง ๆ ได้ ดู:help i_CTRL-V
รายละเอียดที่
Ctrl-Vยังทำงานในโหมดบรรทัดคำสั่ง ( :help c-CTRL-V
) และแม้กระทั่งในบางโปรแกรมอื่น ๆ ทั้งหมด (เช่น bash, mutt.)
ถ้าคุณได้แมปไปอย่างอื่นลองCtrl-V Ctrl-Qสิ่งนี้มีผลเหมือนกันใน Vim Ctrl-Vแต่เทอร์มินัลบางตัวใช้สำหรับควบคุมโฟลว์ซึ่งในกรณีที่ Vim จะไม่เห็นมัน
แทนที่จะเปลี่ยนพฤติกรรมของคุณ (ซึ่งเป็นข้อผิดพลาดได้ง่าย)
ฉันจะตั้งค่ากลุ่มเพื่อทำงานแตกต่างกันสำหรับไฟล์ประเภทนี้
ดังนั้นในการแก้ไขปกติของฉันฉันขยายแท็บ แต่เฉพาะสำหรับmake
ไฟล์ที่ฉันตั้งค่าnoexpandtab
เพื่อให้แท็บยังคงอยู่
เพิ่มสิ่งต่อไปนี้ในไฟล์ ~ / .vimrc ของคุณ:
" Normal action
set expandtab
if has("autocmd")
" If the filetype is Makefile then we need to use tabs
" So do not expand tabs into space.
autocmd FileType make set noexpandtab
endif
<c-v>009
ในกรณีที่มีคีย์ Tab ที่เสียหายหรือไม่ยอมใครง่ายๆ ASCII