จะเยื้องเป็นช่องว่างแทนแท็บได้อย่างไร


21

ฉันกำลังเขียนเทมเพลต html บางไฟล์ในไฟล์ JADE ฉันต้องการโค้ดเยื้องอัตโนมัติพร้อมช่องว่างแทนแท็บ ฉันพยายามshiftwidth=2, tabstop=2แต่ไม่ว่าสิ่งที่ก็ยังคงเยื้องโดยใช้แท็บแทนสเปซบาร์ซึ่งเป็นสาเหตุรวบรวมหยกที่จะโยนความผิดพลาด

ฉันจะเยื้องส่วนใหญ่ของรหัสโดยอัตโนมัติโดยใช้ช่องว่างแทนแท็บได้อย่างไร

คำตอบ:


25

คุณกำลังมองหาexpandtabตัวเลือก เมื่อตั้งค่าตัวเลือกนี้จะใช้ช่องว่างเสมอ คุณสามารถใส่set expandtabvimrc ของคุณให้ตั้งค่าตัวเลือกนี้ได้เสมอเมื่อ vim เริ่มทำงาน หากคุณต้องการเปิดใช้งานตัวเลือกนี้สำหรับภาษาเฉพาะดูคำถามนี้ :help 'expandtab'สำหรับความช่วยเหลือในตัวเลือกนี้ดู


1
ขอบคุณ:set expandtabอนุญาตให้ฉันใช้ช่องว่างแทนแท็บสำหรับการเยื้อง
John

จริงหรือtsเปล่าที่ไร้ประโยชน์เมื่อetถูกตั้งค่า?
iBug

@iBug ไม่ใช่ถ้าคุณกำลังสร้างไฟล์ด้วยตัวเอง แต่มันอาจมีประโยชน์หากตั้งไว้หากคุณกำลังแก้ไขไฟล์ที่มีอยู่ซึ่งมีแท็บอยู่ ดูvim.fandom.com/wiki/Indenting_source_codeเพิ่มเติมเกี่ยวกับการเยื้องฉันพบว่ามันชัดเจนกว่าไฟล์ช่วยเหลือของ vim
EvergreenTree

22

คุณต้องการขยายแท็บ

แต่โดยปกติจะมีสองตัวเลือกที่คุณต้องการตั้งค่าในเวลาเดียวกัน

หากคุณเพิ่มสิ่งต่อไปนี้ในไฟล์ ~ / .vimrc ของคุณ

" tabstop:          Width of tab character
" softtabstop:      Fine tunes the amount of white space to be added
" shiftwidth        Determines the amount of whitespace to add in normal mode
" expandtab:        When on uses space instead of tabs
set tabstop     =4
set softtabstop =4
set shiftwidth  =4
set expandtab

หรือคุณสามารถดำเนินการเหล่านี้ด้วยตนเองจากโหมดปกติโดยดำเนินการต่อด้วย ':'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.