คำถามติดแท็ก persistent-state

4
จะบันทึกหน้าต่างการแบ่งและการจัดวางบัฟเฟอร์ได้อย่างไร?
ฉันมีงานหลายอย่างที่ฉันทำในที่เก็บเดียว ฉันต้องการสร้าง "พื้นที่ทำงาน" สำหรับการทำงานกับพวกเขา หนึ่งใน "พื้นที่ทำงาน" หรือ "บัฟเฟอร์รูปแบบ" จะมีไฟล์ทั้งหมดที่ฉันต้องการที่จะทำงานในที่เปิดในรูปแบบที่ฉันต้องการ (ใช้^w+v, ^w+sการแบ่งหน้าต่าง) จากนั้นเมื่อฉันเริ่มทำงานอื่นฉันต้องการบันทึกเค้าโครงปัจจุบันของฉันย้ายไปยังอีกเค้าโครงหนึ่ง แต่ฉันต้องการกลับไปใช้เค้าโครงก่อนหน้าได้ อะไรคือวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้?

1
ฉันจะใช้คำสั่ง undofile ได้อย่างไร
รายการข่าวล่าสุดในvim.orgพูดถึงการใช้ 'เลิกทำ' เพื่อบันทึกประวัติของคุณและยกเลิกการเปลี่ยนแปลงแม้หลังจากรีบูต: ผู้ใช้หลายคนไม่รู้จักคุณสมบัติที่ฉันชอบโดยใช้ตัวเองเนื่องจากฉันพบเมื่อสัปดาห์ที่แล้ว นอกเหนือจากการเลิกทำในหลาย ๆ ระดับตามที่คุณต้องการ Vim ยังมีการจัดเก็บข้อมูลการเลิกทำในไฟล์ ดังนั้นคุณสามารถออกจาก Vim รีบูตเครื่องคอมพิวเตอร์และยกเลิกการเปลี่ยนแปลงที่คุณทำไว้ ดูความช่วยเหลือสำหรับ 'undofile' (Bram Moolenaar) ฉันจะเปิดใช้งานและใช้คุณสมบัตินี้ได้อย่างไร?

3
ฉันจะล้างทะเบียน / ทะเบียนหลายรายการได้อย่างสมบูรณ์ได้อย่างไร
ผมค่อนข้างบ่อยใช้:registersคำสั่งเพื่อแสดงเนื้อหาของทั้งหมดลงทะเบียน (I ลืมสิ่งที่ฉันใส่ที่ตรงกับสิ่งที่บทบาทของ"*, "., "%ฯลฯ ) โดยเฉพาะอย่างยิ่งเพราะฉันตั้งค่า"ตัวเลือกในviminfoตัวเลือกและด้วยเหตุนี้การลงทะเบียนของฉันจะยังคงอยู่ระหว่างเซสชันเสียงเรียกเข้าของฉัน (ซึ่งโดยทั่วไปแล้วฉันต้องการในระยะสั้น) ตลอดเวลา:registersรายการจะยาวขึ้นเรื่อย ๆ และยุ่งยากมากขึ้น กับสิ่งที่เก่าจริงๆ จนถึงตอนนี้วิธีเดียวที่ฉันพบว่าการแก้ไขนี้คือการแก้ไขเนื้อหาลงทะเบียน 'เก่า' บางส่วนออกด้วยตนเอง~/.viminfoซึ่งฉันต้องทำด้วยvim -u NONEและจึงยุ่งยากเล็กน้อย มีวิธีที่สะอาดกว่าในการล้างการลงทะเบียนทั้งหมดหรือล้างการลงทะเบียนเฉพาะดังนั้นจึงไม่ปรากฏใน:registersรายการอีกต่อไปหรือไม่

1
ประวัติคำสั่งถูกแก้ไขได้อย่างไรระหว่าง Vim หลายอินสแตนซ์?
Vim จะเก็บประวัติคำสั่ง ex (สามารถเข้าถึงได้ผ่าน:↑และq:) และประวัตินั้นจะคงอยู่หลังจากเลิก ถ้าฉันเรียกใช้หลายอินสแตนซ์ของ Vim (ผู้ใช้เดียวกัน, โฮมไดเร็กตอรี่เดียวกัน), Vim จะทำการอนุญาโตตุลาการระหว่างประวัติคำสั่งอย่างไร? ดูเหมือนว่ากระบวนการสุดท้ายที่จะออกจากการชนะ มีวิธีการเก็บประวัติคำสั่งของอินสแตนซ์ทั้งหมดหรือไม่

5
ฉันจะได้รับการแจ้งเตือนเมื่อฉันเลิกทำการเปลี่ยนแปลงจากการคลายตัวหรือไม่?
ฉันใช้คุณสมบัติ undofileใน Vim มาระยะหนึ่งแล้ว มันเป็นคุณสมบัติที่ดีมาก อย่างไรก็ตามสิ่งหนึ่งที่น่ารำคาญก็คือมันง่ายมากที่จะเลิกทำการเปลี่ยนแปลงโดยไม่ตั้งใจซึ่งเป็นครั้งสุดท้ายที่ฉันเปิดไฟล์ ซึ่งอาจเป็น 2 นาทีที่ผ่านมาชั่วโมงที่ผ่านมาสัปดาห์ที่ผ่านมาหรือเดือนที่ผ่านมา ตัวอย่างเช่นสมมติว่าฉันเปิดไฟล์ทำการเปลี่ยนแปลงเล็กน้อยออกไปและเปลี่ยนแปลงไฟล์อื่น ๆ และพบว่าการเปลี่ยนแปลงของฉันไม่จำเป็นต้องใช้ ก่อนหน้านี้ฉันสามารถกดuปุ่มค้างไว้จนกระทั่ง Vim พูดว่า "การเปลี่ยนแปลงที่เก่าแก่ที่สุด" :wqและจะเสร็จสิ้น แต่ตอนนี้ฉันต้องระวังอย่างมากที่จะไม่ยกเลิกการเปลี่ยนแปลงที่ฉันทำครั้งล่าสุดที่ฉันเปิดไฟล์ ไม่มีวิธีที่ชัดเจนที่จะเห็นเมื่อคุณทำเช่นนี้ มีวิธีใดที่จะทำให้ชัดเจนยิ่งขึ้น? ตัวอย่างเช่นการแสดงที่ใดที่หนึ่งออกคำเตือนหรือแม้กระทั่งขอการยืนยัน

1
ป้องกัน Vim จากการบันทึกเหตุการณ์สำหรับไฟล์บางชนิด
หากต้องการเพิ่มคำถามสแต็คโฟลว์โฟล์วสิ่งใดที่ควรใส่.vimrcเพื่อให้แน่ใจว่า 'การแก้ไขส่วนตัว' ของนามสกุลไฟล์บางไฟล์ (เช่น.gpgไฟล์) ไม่ควรบันทึกข้อมูลเกี่ยวกับงานที่ทำเสร็จรวมถึงการลงทะเบียนประวัติการค้นหาประวัติคำสั่งการดูการสลับ ฯลฯ สำหรับgpgไฟล์ผู้ใช้สามารถใช้vim pluginนี้ได้ แต่นอกเหนือจากการแก้ไขปลั๊กอิน มีการขยายแนวคิดที่กล่าวถึงเหล่านี้ไปยังประเภทไฟล์ใด ๆ เราอาจใช้ประโยชน์จากคำสั่งต่อไปนี้ if <ft in privacy_ext_list> set noswapfile set noundofile set viminfo= endif แต่นอกจากคำแถลงเงื่อนไขที่เหมาะสมแล้วมีอะไรหายไปบ้าง นอกจากนี้ Vimscript ยังมีวิธีสร้างอาเรย์ของไฟล์นามสกุลแล้วประเมินว่าไฟล์ประเภทปัจจุบันนั้นอยู่ในอาเรย์หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.