มีวิธีดูรายการเอกสารล่าสุดที่คุณเปิดใน Vim หรือไม่? ฉันรู้ว่าฉันสามารถดูรายการกระโดดของเคอร์เซอร์ได้:ju
จากนั้นไปที่ตำแหน่งเคอร์เซอร์ในรายการ แต่ไม่เหมาะเพราะจะมีรายชื่อเอกสารเดียวกันหลายรายการในรายการ มีคำสั่งอื่นที่จะทำในสิ่งที่ฉันต้องการหรือไม่?
มีวิธีดูรายการเอกสารล่าสุดที่คุณเปิดใน Vim หรือไม่? ฉันรู้ว่าฉันสามารถดูรายการกระโดดของเคอร์เซอร์ได้:ju
จากนั้นไปที่ตำแหน่งเคอร์เซอร์ในรายการ แต่ไม่เหมาะเพราะจะมีรายชื่อเอกสารเดียวกันหลายรายการในรายการ มีคำสั่งอื่นที่จะทำในสิ่งที่ฉันต้องการหรือไม่?
คำตอบ:
อย่าใช้ปลั๊กอินเว้นแต่คุณต้องการเมนูที่ดี จากVim Documentation: เริ่มต้น (หรือ:help old
):
:ol[dfiles]
จากนั้นให้เป็นหนึ่งในการเปิดไฟล์ที่ระบุไว้ใช้: '0
, '1
, '2
...'9
แสดงรายการไฟล์ที่มีเครื่องหมายเก็บไว้ในviminfo
ไฟล์
:bro[wse] ol[dfiles][!]
แสดงรายการชื่อไฟล์เช่นเดียวกับ:oldfiles
จากนั้นแจ้งให้ป้อนหมายเลข เมื่อหมายเลขถูกต้องไฟล์จากรายการจะถูกแก้ไข ใช้!
เพื่อละทิ้งบัฟเฟอร์ที่แก้ไข
:browse oldfiles
- ขอโทษ!
ปลั๊กอินที่ใช้ล่าสุด (MRU) ช่วยให้เข้าถึงรายการไฟล์ที่เปิด / แก้ไขล่าสุดใน Vim ได้อย่างง่ายดาย ปลั๊กอินนี้จะจัดเก็บชื่อไฟล์โดยอัตโนมัติเมื่อคุณเปิด / แก้ไขใน Vim
นอกจากนี้:oldfiles
, fzf.vim:History
มี
เริ่ม Vim แล้วกด Ctrl-oo เพื่อเปิดไฟล์ที่แก้ไขก่อนหน้านี้ กดปุ่ม o (ขณะที่ยังคงกดปุ่ม Ctrl) เพื่อย้อนกลับไปยังไฟล์ก่อนหน้านี้ ดูhttps://dev.to/jovica/3-little-known-but-useful-vim-tips-1pbg
ปลั๊กอินเป็นกลุ่ม: มินิยูเอฟเอ็กซ์แอลอาจช่วยคุณได้ รายการไฟล์ที่เปิดจะแสดงที่ด้านบนหรือด้านล่างของหน้าจอ:
ในโหมดปกติเป็นกลุ่มให้พิมพ์: b $ {bufid}เพื่อข้ามไปที่บัฟเฟอร์$ {bufid} _thเช่นพิมพ์: b13เพื่อข้ามไปที่13บัฟเฟอร์ที่เช่น ngx_mail_ssl_module.c
คุณสามารถจับคู่การผูกที่สะดวกใน vimrc ของคุณได้เช่น:
" ------------------------------- minibufexpl mappings -----------------------------------
"let g:miniBufExplSplitBelow=1
nnoremap <silent> <leader>bn :bn<cr>
nnoremap <silent> <leader>bp :bp<cr>
nnoremap <silent> <leader>bf :bf<cr>
nnoremap <silent> <leader>bl :bl<cr>
nnoremap <silent> <leader>bt :TMiniBufExplorer<cr>
รับปลั๊กอินจากที่นี่: https://github.com/fholgado/minibufexpl.vim
นอกจากนี้จะoldfiles
มีสิ่งที่ดีที่เรียกว่าtinyMRU
จุดประสงค์เดียวของ Vim-tinyMRU คือการจัดหาทางเลือกที่ใช้งานง่ายให้กับคำสั่ง built-in: oldfile ไม่มีอะไรมากไม่มีอะไรน้อย
มันง่ายมาก:
https://github.com/romainl/vim-tinyMRU/blob/master/plugin/tinymru.vim
ปลั๊กอินที่ดีคือhttps://github.com/Shougo/denite.nvim
คุณสามารถโทร:Denite file_old
เพื่อค้นหารายชื่อไฟล์เก่าได้อย่างไม่ชัดเจน โดยเฉพาะอย่างยิ่งการกดปุ่มEnter
จะเป็นการเปิดไฟล์ที่เปิดล่าสุดขึ้นมาใหม่ การกำหนดทางลัดให้มีประโยชน์:
nnoremap <leader>o :Denite<space>file_old<CR>
นี้ช่วยประหยัดการกดแป้นพิมพ์ไม่กี่เทียบกับ:browse oldfiles
, q
, 1
,Enter
วิธีที่ง่ายที่สุดสำหรับฉันในการเข้าถึงไฟล์ล่าสุดคือเพิ่มไฟล์ต่อไปนี้ในไฟล์. gvimrc
let g:netrw_sort_by = 'time'
let g:netrw_sort_direction = 'r'
บรรทัดเหล่านี้ทำให้ netrw จัดเรียงไฟล์ตามไฟล์ที่แก้ไขล่าสุด จากนั้นก็โทรหา: e. และเลือกไฟล์ที่ต้องการ
โซลูชันนี้คาดว่าไฟล์จะถูกบันทึกไว้ในไดเร็กทอรีหลักเดียวซึ่งระบุไว้ใน. gvimrc เช่น
cd ~/vim