เมื่อฉันอยู่ในโหมดแทรกและฉันได้expandtab
เปิดใช้งานตัวเลือกการกดTab ↹ผลลัพธ์ในการแทรกจำนวนช่องว่างที่กำหนดไว้
แต่บางครั้งฉันต้องการแทรกอักขระแท็บจริง
คุณรู้วิธีการทำเช่นนี้?
เมื่อฉันอยู่ในโหมดแทรกและฉันได้expandtab
เปิดใช้งานตัวเลือกการกดTab ↹ผลลัพธ์ในการแทรกจำนวนช่องว่างที่กำหนดไว้
แต่บางครั้งฉันต้องการแทรกอักขระแท็บจริง
คุณรู้วิธีการทำเช่นนี้?
คำตอบ:
คุณสามารถใช้<CTRL-V><Tab>
ใน "โหมดแทรก" ในโหมด<CTRL-V>
แทรกให้แทรกตัวอักษรตัวอักษรต่อไปของคุณ
หากคุณต้องการทำสิ่งนี้บ่อย @ @ Dee`Kej แนะนำการตั้งค่า (ในความคิดเห็น) Shift+ Tabเพื่อแทรกแท็บจริงด้วยการทำแผนที่นี้:
:inoremap <S-Tab> <C-V><Tab>
นอกจากนี้ตามที่ระบุไว้โดย @feedbackloop บน Windows ที่คุณอาจต้องกดมากกว่า<CTRL-Q>
<CTRL-V>
CTRL
+ Q
แทน - ดูstackoverflow.com/questions/6951672/…
inoremap <S-Tab> <C-V><Tab>
- คุณสามารถวางไว้ใน~/.vimrc
ไฟล์ของคุณ
คุณสามารถปิดการใช้งานตัวเลือก expandtab ได้จากภายใน Vim ดังนี้
:set expandtab!
หรือ
:set noet
PS:และตั้งกลับเมื่อคุณทำกับแท็บแทรกด้วย "set expandtab" หรือ "set et"
PS:หากคุณมีแท็บตั้งค่าเท่ากับ 4 ช่องว่างใน. vimrc (softtabstop) คุณอาจต้องการตั้งค่าเป็น 8 ช่องว่างเพื่อให้สามารถแทรกแท็บได้โดยกดปุ่มแท็บหนึ่งครั้งแทนสองครั้ง (ตั้งค่า softtabstop = 8 )
set et
และset noet
เพื่อสลับtab
และspace
ตามความต้องการ
จากเอกสารเกี่ยวกับexpandtab
:
การแทรกแท็บจริงเมื่ออยู่ในการใช้งาน
expandtab
ดูเพิ่มเติมและขยายแท็บ ตัวเลือกนี้จะถูกรีเซ็ตเมื่อ มีการตั้งค่าและกู้คืนตัวเลือกเมื่อมีการรีเซ็ตตัวเลือกCTRL-V
<Tab>
:retab
paste
paste
ดังนั้นหากคุณมีแผนที่สำหรับสลับpaste
ตัวเลือกเช่น
set pastetoggle=<F2>
<F2>Tab<F2>
คุณยังสามารถทำ
.
เพื่อทำซ้ำคำสั่งสุดท้ายหากคุณต้องการแทรกหลายแท็บ