คำถามติดแท็ก folding

คุณลักษณะที่ช่วยให้สามารถซ่อน (และสลับ) ขอบเขตของไฟล์ข้อความได้โดยการแทนที่เนื้อหาด้วยเส้นโครงร่างเส้นเดียว

1
วิธีการพับข้อความในไฟล์ JSON?
ฉันมีไฟล์ JSON ขนาดใหญ่ มันไม่ง่ายที่จะทำงานกับไฟล์ทั้งหมดในเวลา ฉันต้องการพับเนื้อหาบางส่วนเพื่อให้สามารถทำงานกับส่วนของไฟล์ JSON ได้ เช่น: { obj: {+}, // folded section obj:{ // unfolded section } } เป็นไปได้ไหมที่จะพับโครงสร้าง JSON ในกลุ่ม?
25 gvim  folding 

8
มีวิธีปฏิบัติที่ดีที่สุดในการพับไฟล์ vimrc หรือไม่
ฉันเพิ่งรู้ว่าvimrcตอนนี้ฉันมีความยาวมากกว่า 400 บรรทัด (ซึ่ง IMO มากเกินไปฉันจะพยายามลดขนาดนั้น) และเพื่อให้ง่ายต่อการนำทางอ่านและแก้ไขฉันตัดสินใจที่จะตรวจสอบแนวคิดของการพับเป็นกลุ่ม(ซึ่ง ผมไม่คุ้นเคยกับ) ฉันพยายามตั้งค่าวิธีการพับเป็นindentแต่ฉันไม่ชอบผลลัพธ์ (มันยุ่งเกินไปเป็นส่วนใหญ่เพราะส่วนใหญ่ของฉันvimrcไม่ได้เยื้องจริงๆ) ฉันยังพยายามชุดfoldmethodไปexprและsyntaxแต่ผมก็ไม่สามารถที่จะพับอะไรถูกต้อง ที่นี่ใช้diffเป็นวิธีการพับดูไม่เกี่ยวข้อง (หรือถ้าฉันไม่เข้าใจวิธีใช้) ดังนั้นสำหรับตอนนี้ฉันใช้markerวิธีที่ไม่พอใจฉันอย่างสมบูรณ์เพราะ"{{{และ"}}}เครื่องหมายซึ่งฉันพบว่า "มีเสียงดัง" ในไฟล์ ดังนั้นฉันต้องการทราบว่ามีแนวทางปฏิบัติที่ดีที่สุดหรือแนวทางทั่วไปเกี่ยวกับการพับกอย่างถูกต้องvimrcหรือไม่ หมายเหตุ 1:เราทุกคนรู้ดีว่าไม่ใช่ฟอรัมและไม่ได้รวบรวมความคิดเห็นส่วนตัวและนั่นไม่ใช่สิ่งที่ฉันกำลังมองหา: แน่นอนฉันเดาว่าบางคนมีความชอบ แต่พวกเขาต้องการทราบว่าทำไมใช้ เครื่องหมาย (ตัวอย่าง) ปรับปรุงความสามารถในการอ่านได้มากกว่าการใช้การเยื้อง หมายเหตุ 2:เป้าหมายหลักของฉันคือทำให้vimrcชัดเจนที่สุดเท่าที่จะเป็นไปได้ดังนั้นหากมีแนวทางปฏิบัติที่ดีอื่น ๆ เพื่อสร้างสิ่งที่ดีvimrcฉันก็อยากรู้ แก้ไข 1:ฉันควรจะคิดว่าฉันvimrcได้แบ่งย่อยแล้วในส่วน (และบางครั้งส่วนย่อย) เป็นคนหลัก ตัวเลือกทั่วไป ปลั๊กอิน (มีส่วนย่อยสำหรับแต่ละปลั๊กอินและการกำหนดค่า) แมป การนำทาง (ยังมีส่วนย่อย) สี ฯลฯ ... และนี่เป็นโครงสร้างที่ทำให้ฉันคิดถึงการพับ: ฉันรู้สึกว่าสามารถส่งออกเฉพาะส่วนที่ฉันสนใจในบางจุดนั้นเป็นสิ่งที่สะดวกมาก แก้ไข 2:คำตอบที่กล่าวถึงการแบ่งย่อยของvimrcในหลาย ๆ ไฟล์นั้นถูกต้อง แต่ตามความชอบส่วนตัวฉันควรใช้การพับเนื่องจากฉันคิดว่ามันง่ายกว่าที่จะรักษาเพียงหนึ่งไฟล์ใน git repo …
21 vimrc  folding 

3
วิธีพับความคิดเห็น
ไวยากรณ์foldmethodดีมาก แต่บางครั้งฉันต้องการพับความคิดเห็นในไฟล์ต้นฉบับ การพับไวยากรณ์ของความคิดเห็นใช้ได้กับความคิดเห็น C-Style เท่านั้นเช่น: /* ... */ แต่ไม่ใช่สำหรับคอมเมนต์สำเร็จรูปที่ชอบ: // // // ... // หรือแม้กระทั่งสำหรับบล็อกความคิดเห็นในภาษาที่ไม่เหมือน C เช่น: # # # ... # ฉันจะกำหนดค่าสิ่งนี้ด้วย vim ได้อย่างไร?
16 folding 

1
พับบรรทัดที่เลือก
ฉันจะพับและคลายเส้นที่เลือกในโหมดภาพได้อย่างไร? ให้บอกว่าฉันมีสามย่อหน้าและฉันต้องการพับสองหรือย่อหน้าแรกเป็นบรรทัดเดียว: Test ==== Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias.. Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido …

1
ฉันสามารถประหยัดการพับได้ไหม?
วันนี้ฉันเรียนรู้วิธีพับ / แฉใน Vim; มันค่อนข้างมีประโยชน์ โดยไม่คาดหมายเมื่อฉันออกจากไฟล์และป้อนใหม่อีกครั้งการพับที่ฉันสร้างจะหายไป (คลี่ออก) ในโครงการขนาดใหญ่ของ บริษัท เรามีบล็อคโค้ดเหนียว ๆ (แบบดั้งเดิม) จำนวนมากซึ่งค่อนข้างล้าสมัย แต่ขาดไม่ได้ ฉันต้องการพับมันเกือบจะถาวร มีวิธีสั้น ๆ ในการบอกให้ Vim บันทึกการตั้งค่าการพับของฉันสำหรับไฟล์หรือไม่?
14 folding 

2
ยุบ vim จะพับเป็นบรรทัดเดียวคล้ายกับ Atom หรือ Sublime Text
ฉันเป็นแฟนตัวยงของวิธีที่การพับบรรทัด Atom และ Sublime Text ซึ่งบรรทัดแรกของแต่ละการพับสามารถมองเห็นได้ (พร้อมการเน้นไวยากรณ์) และเครื่องหมายจะต่อท้ายบรรทัดที่บ่งชี้การพับ ดูภาพหน้าจอด้านล่างเปรียบเทียบการเยื้องการพับของ Vim (บนสุด) และ Atom (ล่าง): Vim อุทิศสองบรรทัดสำหรับแต่ละเท่า บรรทัดแรกทำหน้าที่เป็นหัวเรื่องและบรรทัดที่สองอธิบายข้อมูลบางอย่างเกี่ยวกับการพับ (จำนวนบรรทัดและข้อความที่อยู่ในการพับ) Atom ใช้เพียงหนึ่งบรรทัดและใช้เครื่องหมายเล็ก ๆ ที่ท้ายบรรทัดเพื่อระบุการพับพร้อมด้วยสีที่เพิ่มไปยังหมายเลขบรรทัดทางด้านซ้าย สไตล์การพับของ Atom ใช้อสังหาริมทรัพย์บนหน้าจอน้อยลง แต่ยังคงสื่อสารข้อมูลทั้งหมดที่ฉันต้องการ ฉันชอบสไตล์การพับของ Atom ดูเหมือนว่าฉันจะดูสะอาดและมีความสอดคล้องกันมากขึ้นโดยเฉพาะอย่างยิ่งเมื่อแสดงรายการวิธีการหรือแอตทริบิวต์หลายอย่างในแถว (เช่นในภาพหน้าจอด้านบน) มีวิธีประมาณคร่าวๆสไตล์การพับของ Atom ใน Vim หรือไม่?
13 folding 

1
การพับตามรูปแบบการค้นหาของ regex
ฉันได้รับไฟล์ข้อความธรรมดาที่มีคอลัมน์ค่าช่องว่างคั่น แบบนี้: AU 3030 .... ... .... AU 3031 .... ... .... AU 3032 .... ... .... AU 3033 .... ... .... IT 48100 ... .. ..... IT 40100 ... .. ..... IT 48123 ... .. ..... UK 3333 ... ... ..... UK 4444 ... ... ..... UK 5555 ... …

2
คุณพับฟังก์ชั่นอัตโนมัติได้อย่างไร?
มีวิธีการทำฟังก์ชั่น Vim fold บนพื้นฐานของไวยากรณ์ของการประกาศฟังก์ชั่นหรือไม่? เช่นมี vim เปิดฟังก์ชั่นเช่นนี้ def foobar(foo,bar): if foo > bar: print "foo" elif foo < bar: print "bar" elif foo == bar: print "foobar" เป็นนี้ +----- 7 lines: def foobar(foo,bar): ------------------------------------------------------------- มีชุดคำสั่งหรือฟังก์ชันที่ฉันสามารถใส่ลงในไฟล์. vimrc ของฉันเพื่อใช้ในการทำสิ่งนี้หรือไม่?
12 folding 

1
มีวิธีการแสดงส่วนที่พับเป็นต้นไม้หรือไม่?
การพับเป็นประโยชน์ในการซ่อนส่วนต่าง ๆ ของเอกสาร การแสดงภาพโครงสร้างพับเป็นต้นไม้จะเป็นประโยชน์ในการทำความเข้าใจโครงสร้างเอกสารได้อย่างรวดเร็ว
10 folding 

3
จะเขียน fold-expr ได้อย่างไร?
ฉันได้อ่านหน้าความช่วยเหลือเกี่ยวกับ fold-expr ( :h fold-expr) แล้ว แต่ไม่ได้อธิบายว่าไวยากรณ์ที่ใช้ในนิพจน์คืออะไร มีสี่ตัวอย่าง: :set foldexpr=getline(v:lnum)[0]==\"\\t\" :set foldexpr=MyFoldLevel(v:lnum) :set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1 :set foldexpr=getline(v:lnum-1)=~'^\\s*$'&&getline(v:lnum)=~'\\S'?'>1':1 ฉันเข้าใจว่าv:lnumเป็นสายที่ต้องการระดับการเยื้องและการแสดงออกที่สองนั้นเป็นการเรียกใช้ฟังก์ชัน สิ่งที่เกี่ยวกับการแสดงออก 1,3 และ 4 ใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหม?
10 folding 

2
ปัญหา: การเคลื่อนย้ายเส้นแนวตั้งจะเป็นการพับในแนวตั้ง
เมื่อฉันย้ายเส้นที่มีm(เช่น:m+1) รอยพับของฉันทั้งหมดจะถูกปิด ฉันสามารถเปิดฝาพับได้zvอีกครั้งและเคอร์เซอร์จะอยู่ในตำแหน่งที่ฉันเลื่อนไป ฉันใช้การพับด้วย{{{ }}}เครื่องหมายและมีset foldmethod=markerใน. vimrc ของฉัน ฉันจะป้องกันเสียงเรียกเข้าไม่ให้ปิดการพับเมื่อเคลื่อนที่เป็นเส้นได้อย่างไร
9 folding 

2
การพับล้มเหลว: เป็นกลุ่มไม่พบการพับใด ๆ
ฉันกำลังพยายามพับโค้ด PHP บางส่วนและฉันได้รวมโค้ดบางเวอร์ชันที่ตัดทอนลงฉันพยายามพับครึ่งท้ายโพสต์ ฉันได้ลองใช้คำสั่ง vim ต่อไปนี้ แต่เพียงคำสั่ง ex ด้านล่างใช้งานได้ คำสั่งที่ไม่ใช่ ex ไม่ทำงานและสร้างข้อความ white-on-red ในบรรทัดสถานะว่า: ฉันไม่พบรอยพับ :help folding :help fold-commands :help foldmethod :set foldmethod=syntax zi - toggle folding zj - move to top of next fold zk - move to bottom of previous fold za - toggle current fold open and …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.