Xem danh sách các tài liệu gần đây trong Vim


130

Có cách nào để xem danh sách các tài liệu gần đây bạn đã mở trong Vim không? Tôi nhận ra rằng tôi có thể xem danh sách nhảy con trỏ :ju, và sau đó chuyển đến vị trí con trỏ trong danh sách nhưng điều này không lý tưởng vì sẽ có nhiều danh sách của cùng một tài liệu trong danh sách. Có một lệnh khác sẽ làm những gì tôi đang tìm kiếm?

Câu trả lời:


200

Đừng sử dụng plugin, trừ khi bạn muốn có một menu đẹp. Từ Tài liệu Vim: Bắt đầu (hoặc :help old):

:ol[dfiles]

Sau đó, để một mở các tập tin được liệt kê, sử dụng: '0, '1, '2, ...'9


Liệt kê các tập tin có dấu được lưu trữ trong viminfotập tin.

:bro[wse] ol[dfiles][!]

Liệt kê tên tệp như với :oldfiles, và sau đó nhắc cho một số. Khi số hợp lệ, tập tin trong danh sách được chỉnh sửa. Sử dụng !để từ bỏ một bộ đệm sửa đổi.


1
Cảm ơn bạn đã trả lời nhưng khi tôi xem trợ giúp cho Bắt đầu lệnh này không tồn tại như trong liên kết bạn cung cấp. Cũng cố gắng sử dụng lệnh này sẽ dẫn đến lỗi "Không phải lệnh biên tập". Tại sao lại thế này?
chris

1
Làm việc cho tôi. @chris Bạn biết rằng các bit bên trong ngoặc là tùy chọn, phải không? tức là ": bro ol" là tên viết tắt của ": duyệt oldfiles"
Mr_Chimp

28
Để mở một trong các tệp được liệt kê, sử dụng: '0,' 1, '2, ...' 9. (Tôi đã phải đi đến một câu hỏi khác để tìm câu trả lời đó, vì vậy tôi sẽ đăng nó ở đây.)
Stew

3
@Stew liên kết đến câu hỏi đó? Những người dường như không làm việc cho tôi. [CẬP NHẬT] thực sự nó hoạt động với tôi :browse oldfiles- xin lỗi!
Aaron Gibralter

7
Bạn không cần phải cuộn toàn bộ đến cuối danh sách tệp cũ để mở tệp được liệt kê. Bạn có thể nhớ số sau đó nhấn q để thoát. Sau đó ở chế độ bình thường, bấm '0,' 1, '2, ... để mở tệp. Tôi thường thấy nhấn q để nhanh hơn là cuộn xuống phía dưới.
James Lawson

28

Plugin được sử dụng gần đây nhất (MRU) cung cấp quyền truy cập dễ dàng vào danh sách các tệp được mở / chỉnh sửa gần đây trong Vim. Plugin này tự động lưu trữ tên tệp khi bạn mở / chỉnh sửa chúng trong Vim.

http://www.vim.org/scripts/script.php?script_id=521


2
Điều đó làm việc độc đáo. Tôi đoán tôi ngạc nhiên khi biết một plugin là cần thiết.
chris

2
Suy nghĩ hay về MRU thay vì lệnh tích hợp, là nó cho phép lọc tên tệp và hoàn thành tab, thay vì xử lý danh sách khổng lồ cồng kềnh mỗi lần.
Ben



2

vim plugin: Minecraftufexpl có thể giúp bạn. danh sách tập tin đã mở được hiển thị ở trên cùng hoặc dưới cùng của màn hình:

nhập mô tả hình ảnh ở đây

trong chế độ bình thường của vim, gõ : b $ {bufid} để nhảy đến bộ đệm $ {bufid} _th , ví dụ: gõ : b13 để nhảy đến bộ đệm thứ 13 , tức là. ngx_mail_ssl_module.c.

Bạo hành, bạn có thể ánh xạ một số ràng buộc thuận tiện trong vimrc của mình, chẳng hạn như:

" ------------------------------- 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>

Nhận plugin từ đây: https://github.com/fholgado/minibufexpl.vim



2

Một plugin tốt là https://github.com/Shougo/denite.nvim

Bạn có thể gọi :Denite file_oldđể có tìm kiếm mờ trong danh sách các tập tin cũ. Cụ thể, chỉ cần nhấn Entersẽ mở lại tệp đã mở cuối cùng. Chỉ định một phím tắt cho điều này là hữu ích:

nnoremap <leader>o :Denite<space>file_old<CR>

Điều này tiết kiệm vài tổ hợp phím so với :browse oldfiles, q, 1,Enter


0

Cách dễ nhất để tôi truy cập các tệp gần đây là thêm tệp sau vào tệp .gvimrc của một người:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

Những dòng này nhận netrw để sắp xếp các tệp theo những sửa đổi gần đây nhất. Sau đó, người ta chỉ cần gọi: e. và chọn tập tin người ta muốn.

Giải pháp này giả định các tệp được lưu trong một thư mục chính được chỉ định trong .gvimrc. Ví dụ

cd ~/vim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.