2013-04-23 30 views
14

Như đã đề cập in this answer, vì Git 1.8.2 bạn có thể sử dụng giá trị cấu hình core.commentchar để thay đổi nhận xét tin nhắn cam kết thành một cái gì đó khác với mặc định # (hashmark hoặc hashsign).vim cú pháp tô sáng cho thông điệp git commit - tùy chỉnh chú thích

Đó là trình tiết kiệm cuộc sống, ví dụ: nếu chính sách thư cam kết của bạn muốn bạn bắt đầu cam kết tin nhắn với số vé:

#123 Fixed array indices 

Phần buồn là điều này làm vỡ cú pháp Vim làm nổi bật.

Làm thế nào bạn có thể mang lại vẻ đẹp?

Trả lời

13

Bạn nên thử chạy :verbose syntax. Tệp cú pháp hoạt động có thể là $VIMRUNTIME\syntax\gitcommit.vim (github version có khả năng trong số .vim) của bạn.

Nó sẽ cho bạn biết dòng cú pháp nào sẽ kích hoạt định dạng dưới dạng nhận xét.

Có thể bạn sẽ thấy một cái gì đó như:

gitcommitComment xxx match /^#.*/ 
    links to Comment 

hoặc

syn match gitcommitComment "^#.*" 

nghĩa là nó phù hợp với tất cả các dòng bắt đầu bằng việc #.

Bạn có thể sửa đổi nó để # trên dòng đầu tiên không được coi là nhận xét. Tôi không biết định dạng syntax đủ để cung cấp cho bạn giải pháp đầy đủ.

Vì vậy, bạn có thể thử sửa đổi mẫu yêu cầu git để nó không hoạt động trên dòng 1 của cam kết git của bạn.

(Tôi đã thử một số thứ nhưng không quản lý để chỉ loại trừ dòng đầu tiên của bình luận! Dường như đó cũng là một diffComment thứ rối tung lên vì gitcommit bao gồm định dạng khác với syn include @gitcommitDiff syntax/diff.vim) )

Để biết thêm chi tiết, xem :help syntax:help pattern.

Một tài nguyên tốt khác về cú pháp highligthing: Learn Vim the Hard Way, chapter 46.

+2

Đã hoạt động! Tôi chỉ cần thêm rằng để giữ lại đầy đủ chức năng HL (như hiển thị lỗi trên bất kỳ văn bản trên dòng 2 hoặc chi tiết trạng thái màu sau này trong ý kiến) Tôi thực sự thay đổi '#' để 'core.commentchar' của tôi (' '') khá * ở khắp mọi nơi * trong tập tin. Thời gian sẽ hiển thị nếu nó phá vỡ một cái gì đó mặc dù ...;) –

Các vấn đề liên quan