ฉันต้องการเข้าถึงไฟล์ล่าสุดที่ฉันเปิดแล้วปิดใน GVim ฉันเปิดและปิด GVim บ่อยๆ ฉันต้องการเข้าถึงไฟล์ล่าสุดจากเซสชันก่อนหน้านี้ด้วย
GVim เก็บไฟล์ล่าสุดไว้ที่ไหนสักแห่งเป็น Word และแอปเดสก์ท็อปอื่น ๆ อีกมากมายหรือไม่ จะเข้าถึงได้อย่างไร?
ฉันต้องการเข้าถึงไฟล์ล่าสุดที่ฉันเปิดแล้วปิดใน GVim ฉันเปิดและปิด GVim บ่อยๆ ฉันต้องการเข้าถึงไฟล์ล่าสุดจากเซสชันก่อนหน้านี้ด้วย
GVim เก็บไฟล์ล่าสุดไว้ที่ไหนสักแห่งเป็น Word และแอปเดสก์ท็อปอื่น ๆ อีกมากมายหรือไม่ จะเข้าถึงได้อย่างไร?
คำตอบ:
อย่างน้อย terminal vim จะเก็บไฟล์สิบไฟล์ก่อนหน้านี้ไว้~/.viminfoในส่วน filemarks คุณสามารถใช้'0, '1, '2...'9ที่จะกระโดดในหมู่พวกเขา
(น่าจะเป็นประโยชน์สำหรับ '0การกลับไปยังไฟล์ล่าสุดที่คุณแก้ไขเว้นแต่หน่วยความจำของคุณจะแข็งแกร่งกว่าของฉัน)
คุณยังสามารถใช้:browse oldfilesคำสั่งเพื่อรับเมนูที่มีตัวเลข
0- 9เป็นเครื่องหมายสำหรับการนำทางอย่าทำเครื่องหมายด้วยตนเอง
                    :browse oldget file-list และเข้าไปqเพื่อเลือกไฟล์ที่จะแก้ไข
                    :e #<1:h c_#<เปิดแฟ้มที่ผ่านมาเห็น
                    rmใช้วิธีการข้างต้น
                    วิธีที่ดีที่สุดที่ฉันใช้คือ
:browse oldfiles
วิธีที่ง่ายที่สุดในกลุ่ม
มีmru.vimซึ่งเพิ่ม:MRUคำสั่ง
คำตอบที่ช้ามากที่นี่ ... อธิบายเกี่ยวกับคำตอบ @sarnolds - คุณสามารถดูประวัติไฟล์ด้วยคำสั่ง oldfiles @see: h oldfiles หรือ: h viminfo
:oldfiles 
นอกจากนี้คุณสามารถจัดการไฟล์แบบละเอียดพร้อมมุมมองและเซสชัน ... @see: h mkview และ: h mksession สำหรับข้อมูลเฉพาะ ...
:oldfilesไฟล์. หนึ่งสามารถทำได้โดยใช้:browseคำสั่งแบบโต้ตอบตามที่อธิบายโดย @sarnold แต่ก็สามารถทำได้ด้วยตนเองโดยใช้โดย:e #<Nที่ N คือตัวเลขจากoldfilesรายการ
                    มีดสวิสมีดสลับไฟล์ปลั๊กอิน CtrlPซึ่งเป็นส่วนหนึ่งของjanus distribution มี:CtrlPMRUคำสั่งพร้อมการค้นหาอัจฉริยะระหว่างไฟล์ที่เพิ่งใช้
หมายเหตุ:
CtrlPรักษารายการของไฟล์ที่ใช้ล่าสุดในรูปแบบg:ctrlp_cache_dir."mru/cache.txt". ไม่ได้ใช้ viminfo ( set viminfo?) ซ้ำซึ่งมีรายการเครื่องหมายไฟล์ สิ่งนี้มีประโยชน์หากคุณต้องการล้างรายการนี้
ใช้:bro olจากนั้นกดหมายเลขที่ตรงกับไฟล์ที่คุณต้องการเปิด
CtrlPปลั๊กอินช่วยให้คุณสามารถค้นหาผ่านไฟล์ที่ใช้เมื่อเร็ว ๆ นี้ของคุณเป็นไฟล์ในไดเรกทอรีปัจจุบันด้วยคำสั่งนี้
nnoremap <c-p> :CtrlPMixed<cr>
สิ่งนี้ช่วยให้คุณไม่ต้องยุ่งยากกับการจัดการกับคำสั่ง Vim และปลั๊กอิน MRU ซึ่งทั้งสองอย่างนี้ไม่อนุญาตให้คุณค้นหาไฟล์ที่คลุมเครือซึ่งเป็นสิ่งสำคัญเมื่อทำงานในโครงการขนาดใหญ่
MRU มีคุณสมบัติมากมายตามที่อธิบายไว้ที่นี่: http://www.thegeekstuff.com/2009/08/vim-editor-how-to-setup-most-recently-used-documents-features-using-mru-plugin/
ดังที่เห็นในความคิดเห็นที่นี่ (http://stackoverflow.com/questions/571955/undo-close-tab-in-vim) ไฟล์ของคุณอาจยังเปิดอยู่ในบัฟเฟอร์:
:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number
ตัวอย่างเช่นคุณสามารถเปิดบัฟเฟอร์ที่สามอีกครั้งในแท็บใหม่ (ใช้: e แทนหากคุณไม่ใช้แท็บ):
:tabnew +3buf
คุณอาจสามารถเข้าถึงรายการจากบรรทัดคำสั่งด้วย:
grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'"$HOME"','
คำอธิบาย:
grep '^>' ~/.viminfo  #find the list of recent files
cut -c3-              #remove the first 2 characters
sed 's,~,'"$HOME"','  #replace ~ with absolute path
คุณอาจมีนามแฝง bash หากคุณใช้สิ่งนี้เป็นประจำ
alias vim_mru="grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'\"$HOME\"','"
เพิ่ม 2 เซ็นต์ของฉันที่นี่เพราะ fzf ถูกไม่ได้กล่าวถึงก่อนหน้านี้ซึ่งเป็นเช่นเครื่องมือที่ยอดเยี่ยม: 
fzf.vimมี:Historyคำสั่งที่ช่วยให้คุณค้นหามากที่สุดไฟล์ที่คุณใช้เมื่อเร็ว ๆ นี้ในเลือนและค้นหาขณะที่คุณพิมพ์ลักษณะ 
ฉันปรับแต่งพฤติกรรม (ค่าเริ่มต้น) ของคำสั่งนี้โดยไม่ให้ fzf เรียงลำดับรายการผลการค้นหาใหม่ให้ตรงที่สุด: ฉันต้องการให้ลำดับของชื่อไฟล์ที่ตรงกันทั้งหมดเป็นลำดับที่ไฟล์เหล่านี้ถูกใช้ครั้งล่าสุด 
ในการปรับแต่งนี้ให้สำเร็จฉันได้เพิ่มสิ่งต่อไปนี้ใน. vimrc ของฉันเพื่อแทนที่Historyคำสั่งเริ่มต้นที่กำหนดโดยปลั๊กอิน fzf.vim:
    command! -bang -nargs=* History
      \ call fzf#vim#history({'options': '--no-sort'})
:ls เพื่อแสดงรายการไฟล์ล่าสุดพร้อมหมายเลขบัฟเฟอร์ในคอลัมน์ทางซ้ายมือ
แล้วทำ :b{buffer-number}กระโดดไปที่นั่น
ตัวอย่าง:
 :lsแสดงรายการไฟล์ ฉันต้องการข้ามไปยังไฟล์ที่สามสุดท้ายที่ฉันเยี่ยมชม
:b3จะพาฉันไปที่นั่น
เพื่อการค้นหาที่รวดเร็วขึ้นให้จับคู่:lsกับบางสิ่งเช่น<Leader>.ในไฟล์. vimrc ของคุณ
นอกจากนี้คุณสามารถกลับไปด้วย+ctrlO