Làm thế nào để truy cập các tập tin được sử dụng gần đây bằng cách chọn từ một danh sách?


8

Tôi muốn có một tổ hợp phím để hiển thị danh sách các tệp được sử dụng gần đây để chọn một tệp để chỉnh sửa.

  • Tôi cần gì để cung cấp điều đó?

Và liên quan,

  • Làm cách nào để quản lý lịch sử của các tệp được sử dụng gần đây để sử dụng?
  • Điều này sẽ hỗ trợ loại trừ tên tệp hoặc thư mục con.

Bạn có muốn mở rộng một chút về ý của bạn bằng cách "hỗ trợ loại trừ ..." không? Bạn có nghĩa rằng bạn muốn hiển thị một danh sách tất cả các file ngoại trừ một số hợp một mô hình, hoặc bạn muốn loại trừ các file nhất định từ bao giờ hiển thị trong danh sách? (Tùy chọn thứ hai là câu trả lời của @ muru, autocmdnhưng cái trước có vẻ như sẽ hữu ích hơn và có thể dễ dàng đạt được hơn.)
Kyle Strand

@KyleStrand Tôi đã nghĩ đến biến thể đầu tiên, ngoại trừ một tệp nếu đường dẫn khớp với một trong danh sách các mẫu. Ví dụ, các mẫu có thể là một cái gì đó như *.tmp,/tmp/*,/mnt/foo/*.
Volker Siegel

Câu trả lời:


10

Bạn có thể sử dụng :browselệnh cho điều đó:

:browse oldfiles

Đối với một tổ hợp phím, ánh xạ nó:

nnoremap <Leader>o :browse oldfiles<cr>

Sau đó, bạn có thể nhấn Leader otrong chế độ bình thường để xem danh sách các tập tin.

Từ :help v:oldfiles:

                                        v:oldfiles oldfiles-variable
v:oldfiles      List of file names that is loaded from the viminfo file on
                startup.  These are the files that Vim remembers marks for.
                The length of the List is limited by the ' argument of the
                'viminfo' option (default is 100).
                When the viminfo file is not used the List is empty.

Vì vậy, để giới hạn tại, giả sử, 50 tệp, bạn có thể đặt viminfo:

set viminfo+='50

Tôi không thấy một cách dễ dàng để loại trừ các tệp khỏi điều này, ngoài việc vô hiệu hóa viminfobằng cách sử dụng autocmd:

autocmd BufNew *.sh set viminfo=

Điều này có một lỗ hổng lớn trong việc vô hiệu hóa tất cả lịch sử cho bất kỳ phiên nào liên quan đến các tệp phù hợp.


Đó là một tính năng tuyệt vời mà tôi chưa bao giờ nghe nói đến.
Kyle Strand

Có thể kết hợp browselệnh với unitevà / hoặc PipeCmdđể đạt được bộ lọc mà OP muốn?
Kyle Strand

@KyleStrand Tôi chưa bao giờ sử dụng, vì vậy tôi không biết.
muru

4

Kiểm tra tính năng MRU của Ctrl-P . Khi bạn đã cài đặt nó, hãy nhập :CtrlPMRUFilesvà nó sẽ mở ra một công cụ tìm mờ ở cuối màn hình mà bạn có thể tìm kiếm mờ qua.nhập mô tả hình ảnh ở đây

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.