Làm thế nào để tôi biết phiên bản vá của vim của tôi?


17

Tôi đã cài đặt vim 7.4, nhưng tôi không chắc nó ở cấp độ bản vá nào khi tôi cài đặt nó. Làm thế nào để tôi kiểm tra?

vim --version

Tặng

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 15 2014 16:18:44)
....

Nhưng nó không đưa ra mức vá hoặc số phiên bản nhỏ.

Câu trả lời:


25

Bạn dường như chỉ đơn giản là có một phiên bản chưa được vá của vim, nếu không :versionlệnh hoặc --versiontham số sẽ liệt kê các bản vá trên dòng thứ hai. Ví dụ trên máy của tôi, nó nói:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 10 2014 09:36:33)
Included patches: 1-207, 209-355, 357-430

Đây là "patchlevel" 430, nhưng nó bỏ qua các bản vá 208 & 356.

Vim không có "số phiên bản nhỏ" ngoài Major.minor ; mặc dù tôi tin rằng một số bản phân phối có thể sử dụng "patchlevel" như vậy.


Như được hiển thị ở trên, không phải tất cả các bản vá đều được bao gồm, vì vậy nếu bạn muốn sử dụng giá trị này, bạn không thể chỉ kiểm tra xem một số có cao hơn một phiên bản nhất định hay không.

Thông thường, cách tốt nhất là sử dụng has("patch-7.4-399"); điều này sẽ trở lại đúng nếu:

  • Chúng tôi đang chạy Vim 7.4 với bản vá 399 đi kèm.
  • Chúng tôi đang chạy Vim 7.5 trở lên.

Bạn cũng có thể sử dụng hình thức has('patch399'), thường được sử dụng như:

if v:version == 704 && has('patch399')

Nhưng hãy lưu ý; điều này sẽ sai cho Vim 7.5; chỉ sử dụng trong trường hợp rất cụ thể

Xem :help feature-listđể biết thêm thông tin.


Tôi không thể tìm cách liệt kê tất cả các bản vá được bao gồm, ngoài việc chuyển hướng :versionvà phân tích cú pháp mà ... Tôi cũng không chắc cách này sẽ hữu ích như thế nào, như has()vậy là đủ :-)


2
Là nó has("patch-7.4-399")hay has("patch-7.4.399")? (cái sau được gợi ý cho tôi bởi một số hoàn thành mã, và dường như cũng là những gì thực sự được mô tả tại liên kết bạn cung cấp )
akavel

2
@akavel Cả hai đều làm việc. Bạn thậm chí có thể sử dụng patch-7-4-399;-)
Martin Tournoij

ahh, awsum, sau đó :)
akavel

3
Các patch-7.4.399định dạng chỉ có sẵn sau 7.4.237. Xem :h has-patch.
xanh da trời

1
↑ @blueyed đề cập đến toàn bộ has('patch-7.4-399')tính năng kiểm tra cả phiên bản chính.minor và phiên bản vá trong một swoop (w / o resorting v:version): không phụ thuộc vào việc sử dụng -dấu gạch ngang hay .dấu chấm.
Aaron Thoma
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.