Làm cho vim ngừng phân chia tin nhắn cam kết Git của tôi


14

Vim có thói quen khó chịu khủng khiếp này là chia tách các thông điệp cam kết của tôi và tự động ngắt dòng chúng, hiển thị dòng thứ hai với nền đỏ vì một số lý do.

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

Làm thế nào tôi có thể làm cho vim ngừng làm điều này?


1
Các biến vim twwmđược đặt là gì? Nếu chúng được đặt thành giá trị khác không, bạn sẽ được ngắt dòng tự động (theo mặc định tại cột 80).
ewhac

11
Đây là tô sáng cú pháp loại tệp tích hợp của Vim cho các thông điệp cam kết git đang cố thực thi một định dạng nhất định cho các tin nhắn git. Điểm nổi bật của bạn trông xấu xí vì thông điệp cam kết git của bạn là "xấu xí", theo nghĩa là nó phù hợp với định dạng mà Vim đang mong đợi bạn tuân theo. Cả gitcommit.vimmô-đun tô sáng cú pháp và hướng dẫn đều được viết bởi Tim Pope. Bạn có thể đọc chúng ở đây: tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html . Để tóm tắt nhanh, hãy tạo dòng đầu tiên tóm tắt 50 ký tự, để lại một dòng trống và sau đó viết các đoạn văn của bạn dưới đây.
jw013

11
(tiếp theo) ... Vì vậy, đây không phải là một câu trả lời về mặt kỹ thuật, nhưng bạn có nghĩa vụ làm cho phần tô sáng không xấu bằng cách viết một thông điệp cam kết git được định dạng đúng. Cố gắng giữ dòng một dưới 50 ký tự. Dòng 2 được cho là trống, đó là lý do tại sao nó được tô màu ĐÚNG ĐỎ cho "Cảnh báo: văn bản này không được cho là ở đây!" Nhập tin nhắn mở rộng bắt đầu trên dòng 3. Vim sẽ tự động ngắt dòng của bạn ở 72 ký tự. Hãy để nó làm như vậy. Nếu bạn cần Vim để làm lại các ngắt dòng vì bạn đã thực hiện một số chỉnh sửa, hãy tô sáng đoạn văn và làm gqđể sửa các ngắt dòng.
jw013

1
"Nếu bạn cần Vim để làm lại các ngắt dòng vì bạn đã thực hiện một số chỉnh sửa, hãy tô sáng đoạn văn và thực hiện gq để sửa các ngắt dòng." Hoặc điều hướng đến đoạn và loại gqipđể gqcác paragraph bạn đang in.
Andrew Martin

Câu trả lời:


5

Plugin filetype thực thi kiểu thông báo cam kết Git ưa thích: Tiêu đề ngắn và ngắt dòng cứng. Nếu bạn không đồng ý với phong cách đó, hãy hoàn tác cài đặt bằng cách đặt các mục sau vào ~/.vim/after/ftplugin/gitcommit.vim:

setlocal wrap formatoptions<

1
Đối với những người thắc mắc làm thế nào formatoptions<có thể là một đối số hợp lệ setlocal, các tài liệu :setlocalgiải thích rằng nó sẽ cài đặt giá trị cục bộ của {tùy chọn} thành giá trị toàn cầu của nó bằng cách sao chép giá trị. Vì vậy, lệnh này sẽ xóa tvà gắn lcờ (được ghi lại fo-table) các plugin thêm vào 'formatoptions'.
Rory O'Kane

4

Tôi tìm thấy các thiết lập tôi cần ~/.vim/after/ftplugin/gitcommit.vimlà:

setlocal textwidth=0


Cảm ơn bạn. Giải pháp khác không hiệu quả với tôi trên OpenSUSE, nhưng giải pháp này đã làm được.
Artem Russakovskii
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.