ฉันได้ตั้งค่า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