Làm thế nào để tăng thêm kích thước lịch sử cmdline?


11

Tôi đã đặt cài đặt sau vào .vimrctệp của mình :

set history=1000

Nó đã ở đó một thời gian, tôi làm việc trong vim hàng ngày, vì vậy bây giờ đã có nhiều lệnh được thực thi. Tôi biết từ trợ giúp của vim, rằng các dòng lệnh trùng lặp và ánh xạ không được lưu trữ và nó cũng cho biết:

Use the 'history' option to set the number of lines that are remembered
(default: 20).

Hiện tại có khoảng 130 dòng trong lịch sử của tôi ( :hisq:thay đổi một chút, dòng thứ hai có khoảng 90 mục), nhưng theo tôi nên có nhiều hơn. Có một số lệnh bị thiếu, như mở một số tệp nhất định hoặc một số lệnh thay thế bằng regex phức tạp. Đã không được sử dụng trong một thời gian, nhưng tôi có kích thước lịch sử này tăng đủ lâu.

Có giới hạn nào khác mà tôi không biết? Hoặc có thể đó không phải là một cách chính xác để tăng kích thước lịch sử cmdline?

Câu trả lời:


12

Một :giá trị trong 'viminfo'tùy chọn của bạn có thể giới hạn số lượng lệnh tồn tại. Xem :help viminfo-::

: Maximum number of items in the command-line history to be
  saved.  When not included, the value of 'history' is used.

Đây có thể là nó. Làm cách nào để thay đổi cài đặt này? :set viminfo=:1000sẽ làm?
qiubix

1
Đó sẽ là một giá trị không mặc định. Kiểm tra xem :verbose set viminfo?nơi này đã được đặt và thay đổi tốt nhất vị trí đó. Vì tùy chọn này sử dụng một tập hợp các giá trị, tốt nhất nên sử dụng :set viminfo-=:42 | set viminfo+=:1000để sửa đổi nó.
Ingo Karkat

1
rõ ràng tôi phải mở rộng tập hợp các giá trị bằng cách sử dụng +=thay vì chỉ ghi đè lên nó. Sử dụng verbose tôi nhận được: Last set from ~/.vimrcsau một số giá trị mặc định. Tôi không có bất kỳ viminfohành vi thay đổi cài đặt nào , vì vậy tôi không biết phải thay đổi điều gì ở đó. Tôi sẽ chỉ thêm dòng này với :1000tham số và chấp nhận câu trả lời của bạn khi tôi nhận thấy tăng kích thước lịch sử.
qiubix

Bạn có thể mở rộng câu trả lời này một chút để chỉ cho bạn cách làm điều này không? Có vẻ như :set viminfo+=:1000sẽ làm điều đó, nhưng tôi không chắc chắn tôi làm theo chính xác lý do tại sao bạn trừ 42 từ đầu tiên.
TankorSmash

1
@TankorSmash: 42 không bị trừ; điều này dự định loại bỏ :42phần (42 chỉ là một số ngẫu nhiên, vì số chính xác trong cấu hình của OP không được biết) khỏi 'viminfo'tùy chọn. Nếu bạn không có một mặc định hiện có trong đó, set viminfo+=:1000thực sự sẽ là đủ.
Ingo Karkat

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.