ปัญหาการเยื้องของ gq ไม่ได้อธิบาย


11

ฉันแทรกข้อความนี้เป็นกลุ่ม:

t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt
ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt,
tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt
for the "tttttt in ttttttt" part of the issue (in the previous week I have
worked on the "objects in objects" part). This part is about making it
possible for the end user to add arrays in objects. First of all I checked
that the current implementation allows putting arrays in objects at least
from the schema passed to the plugin constructor.

gqแล้วฉันสายตาเลือกเส้นเหล่านี้ทั้งหมดและกด เนื้อหากลายเป็น:

t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt
ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt,
tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt
for the "tttttt in ttttttt" part of the issue (in the previous week I have
    worked on the "objects in objects" part). This part is about making it
    possible for the end user to add arrays in objects. First of all I checked
    that the current implementation allows putting arrays in objects at least
    from the schema passed to the plugin constructor.

โปรดอธิบายให้ฉันฟังหน่อยว่าทำไมช่องว่างนั้นถึงจุดเริ่มต้นของสี่บรรทัดสุดท้าย เป็นไปได้ไหมว่าคำแรก ( for) ในบรรทัดที่ห้าซึ่งในภาษาการเขียนโปรแกรมบางอันเริ่มforวนซ้ำทำให้ Vim คิดว่าควรจะเริ่มการบล็อกของย่อหน้าใหม่ของรหัสแม้ว่าบรรทัดเหล่านี้จะอยู่ในไฟล์ที่ไม่ได้บันทึกหรือในไฟล์ Markdown ? ฉันจะหลีกเลี่ยงพฤติกรรมนี้และgqหยุดแทรกช่องว่างนั้นได้อย่างไร

commentsการตั้งค่าของฉันมีค่าเริ่มต้น: s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-. ท่านสามารถเข้าดูของฉัน.vimrcไฟล์ที่นี่

ปรับปรุง:ฉันfo( formatoptions) ตัวเลือกที่มีค่าtcqที่formatexprและformatprgตัวเลือกที่ว่างเปล่า


และหากไฟล์ถูกบันทึก / ไม่ใหม่ความแตกต่างใด ๆ
Gabriel Petrovay

มันเป็นพฤติกรรมเดียวกัน
silviubogan

จากนั้นคุณสามารถลบข้อมูลนั้นออกจากข้อความเพื่อทำให้ปัญหาง่ายขึ้น
Gabriel Petrovay

@ GabrielPetrovay ขอขอบคุณสำหรับข้อเสนอแนะ! :-)ฉันอัพเดทคำถาม
silviubogan

ตัวเลือก 'fo' และตัวเลือก 'formatexpr' และ formatprg คืออะไร
Christian Brabandt

คำตอบ:


18

ปัญหาคือว่าคุณได้ตั้งค่าในของคุณsmartindent ตัวเลือกที่ทำให้เกิดเป็นกลุ่มที่จะคิดว่าข้อความของคุณบาง C-เช่นภาษาโปรแกรมเมื่อเยื้อง เหนือสิ่งอื่นใดจะถือว่าเป็นคำหลักและให้ระดับการเยื้องพิเศษต่อบรรทัดต่อไปนี้ ดู~/.vimrcsmartindentfor

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