ฉันคัดลอกรหัสมาจากอินเทอร์เน็ตที่มีการเยื้อง 2 ช่องว่างและฉันต้องการเปลี่ยนเป็นการเยื้อง 4 ช่องว่าง ฉันสงสัยว่ามีกิจวัตรกลุ่มสั้น ๆ เพื่อให้งานสำเร็จโดยไม่ต้องเขียน vim script หรือไม่ นี่คือวิธีที่ฉันกำลังทำกับไฟล์ HTML:
- บันทึกมาโคร
- ไปที่จุดเริ่มต้นของบรรทัด
- ภาพเลือกช่องว่างทั้งหมดจนกระทั่งเกิด "<" ครั้งแรก
- ดึงและวางช่องว่างทั้งหมด (โดยทั่วไปเพื่อเพิ่มเป็นสองเท่า)
- เล่นมาโครซ้ำจนจบไฟล์
ในระยะสั้น qa0vt<yp<esc>jq
หลุมพราง:
มาโครล้มเหลวสำหรับบรรทัดว่างหรือบรรทัดที่ไม่ได้ขึ้นต้นด้วย "<" และฉันไม่รู้ว่าจะขยายโซลูชันนี้ไปยังไฟล์ที่ไม่ใช่ HTML ได้อย่างไร
ts
=tabstop
,sts
=softtabstop
และ=[no]et
[no]expandtab