บางครั้งฉันต้องการแก้ไขบล็อกข้อความแบบเห็นภาพข้ามหลายบรรทัด
ตัวอย่างเช่นฉันจะใช้ข้อความที่มีลักษณะเช่นนี้:
name
comment
phone
email
และทำให้มันเป็นแบบนี้
vendor_name
vendor_comment
vendor_phone
vendor_email
ปัจจุบันวิธีที่ฉันจะทำตอนนี้คือ ...
- เลือกทั้ง 4 แถวของบล็อกโดยการกดVจากนั้นjสี่ครั้ง
- >เยื้องกับ
- hกลับไปหนึ่งตัวอักษรด้วย
- Ctrlvไปเพื่อป้องกันโหมดภาพกับ
- เลือกสี่แถวโดยกดjสี่ครั้ง ณ จุดนี้คุณได้เลือกบล็อกที่มองเห็น 4x1 ช่องว่าง (สี่แถวและหนึ่งคอลัมน์)
- Cกด สังเกตุสิ่งนี้เยื้องไปทางซ้ายทีละคอลัมน์
- พิมพ์ a
" vendor_"
โดยไม่ต้องใส่เครื่องหมายคำพูด สังเกตเห็นพื้นที่พิเศษที่เราต้องใส่กลับ - Escกด นี่เป็นหนึ่งในไม่กี่ครั้งที่ฉันใช้Escเพื่อออกจากโหมดแทรก Ctrlcจะแก้ไขบรรทัดแรกเท่านั้น
- ทำซ้ำขั้นตอนที่ 1
- <เยื้องไปทางอื่นด้วย
ฉันไม่จำเป็นต้องเยื้องถ้ามีช่องว่างอย่างน้อยหนึ่งคอลัมน์หน้าคำ cฉันจะไม่จำเป็นต้องมีช่องว่างถ้าผมไม่ได้มีการยกเลิกการบล็อกภาพกับ
แต่ถ้าฉันต้องชัดเจนแล้วมีวิธีทำสิ่งที่ฉันทำข้างต้นโดยไม่ต้องสร้างช่องว่างที่จำเป็นด้วยการเยื้องหรือไม่
ทำไมการแก้ไขหลายบรรทัดในครั้งเดียวจึงทำได้โดยออกจากโหมดแทรกด้วยEscมากกว่าCtrlc?
นี่คือตัวอย่างที่ซับซ้อนมากขึ้น:
name = models.CharField( max_length = 135 )
comment = models.TextField( blank = True )
phone = models.CharField( max_length = 135, blank = True )
email = models.EmailField( blank = True )
ถึง
name = models.whatever.CharField( max_length = 135 )
comment = models.whatever.TextField( blank = True )
phone = models.whatever.CharField( max_length = 135, blank = True )
email = models.whatever.EmailField( blank = True )
ในตัวอย่างนี้ผมจะดำเนินการบล็อกภาพแนวตั้งมากกว่าแล้วใส่กลับเข้าไปใหม่มันกลับมาระหว่างโหมดการแทรกเช่นประเภท.
.whatever.
หวังว่าตอนนี้คุณสามารถดูข้อเสียของวิธีนี้ ฉันกำลัง จำกัด เพียงการเลือกคอลัมน์ของข้อความที่มีทั้งหมดเหมือนกันในแนวตั้ง
:s/models\./\0whatever./