ฉันใช้ foldmethod=syntax
สำหรับภาษาส่วนใหญ่ ปัญหาหนึ่งคือเมื่อเข้าสู่โหมดแทรก มันจะแยกวิเคราะห์ไวยากรณ์ใหม่และจะกำจัดสถานะของการพับหากมีการใช้วงเล็บ/วงเล็บเหลี่ยม/อื่นๆ ที่เปิดอยู่
มีวิธีแก้ไขที่นี่
http://vim.wikia.com/wiki/Keep_folds_closed_While_inserting_text
augroup folding
autocmd!
autocmd InsertEnter *
\ if !exists('w:last_fdm') |
\ let w:last_fdm=&foldmethod |
\ setlocal foldmethod=manual |
\ endif
autocmd InsertLeave,WinLeave *
\ if exists('w:last_fdm') |
\ let &l:foldmethod=w:last_fdm |
\ unlet w:last_fdm |
\ endif
สิ้นสุดกลุ่มอัตโนมัติ
แต่ถ้าฉันมีไฟล์เดียวกันเปิดอยู่ในหน้าต่างอื่น มันจะไม่เปลี่ยน foldmethod
ของหน้าต่างนั้น และทำให้พับพับและยังคงช้าอยู่
ฉันจะแก้ไขปัญหานี้ได้อย่างไร? ฉันสามารถตั้งค่าตัวเลือก foldmethod
ต่อบัฟเฟอร์แทนเพื่อให้ใช้กับทุกหน้าต่างได้หรือไม่
indent
ที่น่าเชื่อถือกว่า สม่ำเสมอกว่า และประหยัดกว่าในการคำนวณได้ไหม - person romainl   schedule 25.06.2014