ทำให้ vim หยุดแบ่งข้อความคอมมิท Git ของฉัน


14

Vim มีนิสัยที่น่ารำคาญในการแยกข้อความกระทำของฉันและแบ่งบรรทัดข้อความเหล่านั้นโดยอัตโนมัติทำให้บรรทัดที่สองมีพื้นหลังสีแดงด้วยเหตุผลบางอย่าง

ป้อนคำอธิบายรูปภาพที่นี่

ฉันจะทำให้เป็นกลุ่มหยุดทำเช่นนี้ได้อย่างไร


1
ตัวแปรเสียงเรียกเข้าtwและการwmตั้งค่าคืออะไร? หากพวกเขาถูกตั้งค่าเป็นศูนย์คุณจะได้รับการแบ่งบรรทัดอัตโนมัติ (โดยค่าเริ่มต้นที่คอลัมน์ 80)
ewhac

11
นี่คือไวยากรณ์ชนิดไฟล์ในตัวของ Vim ที่เน้นการคอมไพล์คอมไพล์ข้อความพยายามบังคับใช้รูปแบบบางอย่างสำหรับข้อความคอมไพล์ ไฮไลต์ของคุณดูน่าเกลียดเพราะข้อความคอมไพล์ของคุณคือ "น่าเกลียด" ในแง่ที่ว่ามันตรงกับรูปแบบที่ Vim คาดหวังให้คุณติดตาม ทั้งgitcommit.vimโมดูลเน้นไวยากรณ์และคำแนะนำถูกเขียนโดย Tim Pope คุณสามารถอ่านได้ที่นี่: tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html สำหรับการสรุปอย่างย่อให้บรรทัดแรกมีการสรุปอักขระ 50 บรรทัดปล่อยให้บรรทัดว่างแล้วเขียนย่อหน้าของคุณด้านล่าง
jw013

11
(ต่อ) ...ดังนั้นนี่ไม่ใช่คำตอบทางเทคนิค แต่คุณควรทำให้ไฮไลต์ไม่น่าเกลียดด้วยการเขียนข้อความคอมไพล์ในรูปแบบที่เหมาะสม พยายามที่จะรักษาบรรทัดหนึ่งต่ำกว่า 50 ตัวอักษร บรรทัดที่ 2 ควรจะว่างเปล่าซึ่งเป็นสาเหตุที่ทำให้สีเป็นตัวหนาสีแดงสำหรับ "คำเตือน: ข้อความนี้ไม่ควรอยู่ที่นี่!" พิมพ์ข้อความที่ขยายเริ่มต้นที่บรรทัดที่ 3 เป็นกลุ่มโดยอัตโนมัติจะแบ่งบรรทัดของคุณที่ 72 อักขระ ปล่อยให้มันทำอย่างนั้น หากคุณต้องการให้ Vim ทำซ้ำตัวแบ่งบรรทัดเนื่องจากคุณทำการแก้ไขบางส่วนให้เน้นย่อหน้าและทำgqเพื่อแก้ไขตัวแบ่งบรรทัด
jw013

1
"หากคุณต้องการให้ Vim ทำซ้ำตัวแบ่งบรรทัดเนื่องจากคุณทำการแก้ไขบางส่วนให้เน้นย่อหน้าและทำ gq เพื่อแก้ไขการขึ้นบรรทัดใหม่" หรือไปวรรคและประเภทgqipที่จะaragraph คุณกำลังn gqpi
แอนดรูมาร์ติน

คำตอบ:


5

ปลั๊กอินชนิดไฟล์บังคับใช้สไตล์ข้อความ Git ที่ต้องการ: ชื่อแบบสั้นและตัวแบ่งบรรทัดอย่างหนัก หากคุณไม่เห็นด้วยกับสไตล์นั้นให้ยกเลิกการตั้งค่าโดยใส่สิ่งต่อไปนี้ลงใน~/.vim/after/ftplugin/gitcommit.vim:

setlocal wrap formatoptions<

1
สำหรับผู้ที่สงสัยว่าformatoptions<เป็นอาร์กิวเมนต์ที่ถูกต้องได้setlocalอย่างไรเอกสารสำหรับ:setlocalอธิบายว่าจะ“ ตั้งค่าท้องถิ่นของ {ตัวเลือก} เป็นค่าทั่วโลกโดยคัดลอกค่า” ดังนั้นคำสั่งนี้จะลบtและlธง (ในเอกสารfo-table) 'formatoptions'ที่ปลั๊กอินเพื่อเพิ่ม
Rory O'Kane

4

ฉันพบการตั้งค่าที่ฉันต้องการ~/.vim/after/ftplugin/gitcommit.vimคือ:

setlocal textwidth=0


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