รุ่นที่ง่ายที่สุดคือ: สร้าง~/.vim/undo-dir/
ไดเรกทอรีและเพิ่มรายการต่อไปนี้ลงใน.vimrc
:
set undodir=~/.vim/undo-dir
set undofile
อย่างไรก็ตามมันไม่ได้ไร้ที่ติและควรอ่านต่อ จากตัวฉันเอง.vimrc
:
" Let's save undo info!
if !isdirectory($HOME."/.vim")
call mkdir($HOME."/.vim", "", 0770)
endif
if !isdirectory($HOME."/.vim/undo-dir")
call mkdir($HOME."/.vim/undo-dir", "", 0700)
endif
set undodir=~/.vim/undo-dir
set undofile
ฉันไม่ต้องการถ่วงไดเรกทอรีสุ่มด้วยไฟล์เลิกทำ ดังนั้นฉันจึงตั้งค่าundodir
ตัวเลือกซึ่งทำให้พวกเขาทั้งหมดในไดเรกทอรีเลิกทำหนึ่ง นั่นทำให้เกิดปัญหาหนึ่ง - ฉันขี้เกียจและไม่อยากสร้างไดเรกทอรีนั้นบนเครื่องทั้งหมดของฉัน (ฉันใช้ระบบควบคุมเวอร์ชันเพื่อทำให้ข้อมูลตรงกัน.vimrc
ในหลาย ๆ เครื่อง) โชคดีที่มันง่ายพอที่จะให้ Vim ตรวจสอบและสร้างไดเรกทอรีหากไม่มีอยู่
โปรดทราบ0700
โหมดในไดเรกทอรีเลิกทำ (นั่นเป็นสิทธิ์แบบเต็มสำหรับเจ้าของไม่มีสิทธิ์สำหรับผู้อื่น) ไฟล์ที่ฉันแก้ไขเมื่อใด ฯลฯ ควรเป็นแบบส่วนตัว และเนื่องจากนี่เป็นไดเรกทอรีเดียวที่ฉันสามารถเข้าถึงได้ฉันไม่ต้องกังวลกับคนอื่นที่วาง symlink ไว้ในนั้นหรือยกเลิกไฟล์ของตนเองหรืออะไรก็ตามที่คุณต้องกังวลเกี่ยวกับการใช้ไดเรกทอรีชั่วคราวของระบบ
ท้ายที่สุดไม่ได้เป็นไดเรกทอรีชั่วคราวของระบบมันไม่อยู่ภายใต้นโยบายการล้างข้อมูลบนระบบ tempfile บ่อยครั้งที่ค่อนข้างสั้น - สัปดาห์หรือมากกว่านั้น แต่เพื่อป้องกันไม่ให้มันเติบโตตลอดไปฉันใส่สิ่งต่อไปนี้ในของฉันcrontab
:
# m h dom mon dow command
43 00 * * 3 find /home/anthony/.vim/undo-dir -type f -mtime +90 -delete
ดังนั้นหลังจากไม่มีการแก้ไข 90 วันพวกเขาจะถูกลบ (จริงๆแล้วพวกเขาไม่ได้ใหญ่ขนาดนั้นคุณสามารถทิ้งไว้ตลอดไปได้อย่างง่ายดายด้วยดิสก์ราคาถูก แต่พิจารณาความเป็นส่วนตัวของคุณด้วยหากเครื่องของคุณถูกบุกรุก)