Vim Markdown ปฏิบัติต่อ codeblock ที่ไม่พอใจเป็นความคิดเห็น
ฉันใช้การจัดรูปแบบข้อความอัตโนมัติที่ค่อนข้างดีสำหรับ Markdown:
(เห็น https://asciidoc.org/userguide.html#X61)
augroup TXT | au!
autocmd FileType asciidoc,markdown
\ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2
\ textwidth=70 wrap formatoptions=atqn
\ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*<\\d\\+>\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
\ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
\ listchars=tab:»·,trail:·
\ list |
autocmd FileType asciidoc,markdown silent! %foldopen!
augroup END
การเยื้องอัตโนมัตินี้จะแสดงรายการและทำให้บล็อกข้อความของฉันสั้นลงโดยการแทรกฮาร์ดเบรกโดยอัตโนมัติหรือลบออกตามความเหมาะสม
อย่างไรก็ตามพฤติกรรมนี้เข้ามาในทางของฉันเมื่อป้อนรหัสรั้วเนื่องจาก Vim พยายามผสานบรรทัดที่ไม่ได้คั่นด้วยย่อหน้าเข้าด้วยกันจนกว่าจะถึงความกว้างของข้อความ
ฉันสามารถปิดใช้งานการจัดรูปแบบอัตโนมัติในรหัสรั้วทั้งหมดได้หรือไม่? จะcomments=มีลักษณะอย่างไรในการปฏิบัติต่อทุกสิ่งระหว่าง
```
fenced code
```
เป็นความคิดเห็นเป็นกลุ่มไม่ควรจัดรูปแบบอัตโนมัติ? ดูส่วนที่ไม่มีformatoptions=-cด้านบนซึ่งฉันคิดว่า Vim จะใช้เวลาในการแสดงความคิดเห็นของฉันคนเดียว
คำตอบ
ผมเกรงว่ามันคือ "เป็นไปไม่ได้" commentsจะทำอย่างไรกับ สิ่งนี้คือมันไม่ได้วิเคราะห์ว่ามันอยู่ในความคิดเห็นจริงหรือไม่ - ถือว่าเป็นความคิดเห็นจริง มันถูกแย่งชิงสำหรับรายการเนื่องจากมีความคล้ายคลึงกันใน asciidoc และ markdown ความคิดเห็นที่เหมือน C คือ:
/*****************************
* comment line 1
* comment line 2
******************************/
ดังนั้นหากคุณกด Enter หลังความคิดเห็นบรรทัดที่ 2 มันจะดำเนินการต่อในบรรทัดถัดไปที่เติม "bullet"
แน่นอนคุณสามารถลองใช้โซลูชันของคุณเอง:
แมป
<CR>ในโหมดแทรกกับฟังก์ชันที่คุณต้องวิเคราะห์สภาพแวดล้อมเช่นค้นหาย้อนหลังสำหรับการเริ่มบล็อกที่มีรั้วกั้นและปิดcommentsหากพบหรือทำเช่นเดียวกันโดยไม่
commentsใช้การแทรกสัญลักษณ์แสดงหัวข้อย่อยของคุณเอง
แต่มันจะเปราะบางหรือช้าหรือทั้งสองอย่าง