ฉันจะให้ Vim เยื้องบรรทัดทั้งหมดในรายการได้อย่างไรไม่ใช่แค่บรรทัดที่สอง?


17

nตัวเลือกในการเป็นกลุ่มของformatoptionsการตั้งค่าจะเยื้องบรรทัดที่สองของรายการเพื่อให้ตรงกับการเยื้องของบรรทัดแรก อย่างไรก็ตามบรรทัดที่สามและบรรทัดถัดไปกลับไม่มีการย่อหน้าดังนั้น:

1. Doing a list. This is my list. I am writing
   a list. It's quite a long list. It's really
long. I can't believe how long it is. And
this just the first item!

2. Another list item.

ฉันอยากให้มันเยื้องบรรทัดทั้งหมดเช่นนี้

1. Doing a list. This is my list. I am writing
   a list. It's quite a long list. It's really
   long. I can't believe how long it is. And
   this just the first item!

2. Another list item.

สิ่งนี้เป็นไปได้หรือไม่ที่ใช้ตัวเลือกของ Vim สคริปต์หรือโปรแกรมการจัดรูปแบบภายนอกเช่น par?

คำตอบ:


16

ฉันคิดว่าการตั้งค่า 'autoindent' ควรแก้ไขปัญหานั้น มันทำเพื่อฉัน

set ai


2
ได้ผลสำหรับฉันเช่นกันและฉันก็รู้สึกโง่ที่ไม่ได้คิดออกเองโดยเฉพาะอย่างยิ่งการเห็นว่ามันมีอยู่ในเอกสารประกอบสำหรับการตั้งค่า 'n'! ขอบคุณ
Rich

@akira Yup ฉันเป็นคนงี่เง่า. ฉันคิดว่าความสับสนของฉันเป็นเพราะ Vim เยื้องบรรทัดที่สองฉันคิดว่าฉันได้autoindentเปิดแล้วและพฤติกรรมที่อธิบายในคำถามเป็นพฤติกรรมที่ออกแบบมา ฉันคิดว่าคู่มือสามารถใช้คำพูดให้ชัดเจนยิ่งขึ้นเพื่อประโยชน์ของคนโง่เช่นตัวฉันเอง :)
Rich

ดูคำตอบของ @ akira สำหรับวิธีการแก้ปัญหาเชิงลึกเพิ่มเติม
Clint Pachl

5

ในกรณีของคุณฉันจะทำสิ่งนี้:

 :set autoindent       " just for interactive indenting (see answer of @Rich) 
 :set fo+=2n           " :help fo-table
 :set tw=47            " your text shall wrap at xyz

( tw=47สิ่งสำคัญสำหรับ .. ) จากนั้นทำการฟอร์แมตย่อหน้าด้วยการกดgqap

หมายเหตุ: ฉันไม่สามารถแสดงจุดเริ่มต้นใหม่ด้วย=ทั้งอาจจะมีคนอื่นคิดว่า


ขอบคุณที่เตือนฉันถึงการa pเคลื่อนไหวเพื่อจัดรูปแบบบรรทัด ฉันมักจะใช้วงเล็บปีกกาที่ถูกต้องซึ่งคล้ายกัน g q 3 }อย่าลืมคุณสามารถเพิ่มการนับตัวอย่างเช่นรูปแบบสามย่อหน้าต่อไปนี้:
Clint Pachl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.