2011-11-10 30 views
7

Cách tốt nhất để thay đổi màu sắc, được trích dẫn trong Mutt, sử dụng Vim là gì?Làm thế nào để tô màu một tạp âm được trích dẫn bởi Mutt trong Vim?

Nếu tôi nhận được phần khác là tệp đính kèm, tôi muốn nhận xét một số dòng, nhưng trong khi trả lời mutt thêm dấu ngoặc kép (>) thì tốt cho tôi, nhưng sau đó nó phá vỡ màu sắc khác nhau trong Vim.

Cách thêm mẫu khác biệt hiện tại để phù hợp ngay cả với ký tự đầu tiên >? (Sẽ tốt hơn để phù hợp hơn ^[> ] mẫu)

Ví dụ về diff nhắn trích dẫn:

> @@ -52,22 +48,17 @@ 
> -msgid "foo is deprecated." 
> +msgid "bar is deprecated." 

Trả lời

0

tôi sẽ đề nghị để thiết lập indent_string từ đó là giá trị mặc định (">") cho một chuỗi rỗng sử dụng macro . Ví dụ với một chìa khóa ", r" ràng buộc:

macro index ,r ":set indent_string=\"\"<enter><reply>" 

Bạn sẽ cần phải đặt nó trở lại mặc định sau khi lệnh. Vì vậy, một cái gì đó như:

macro index ,r ":set indent_string=\"\"<enter><reply>:set indent_string=\"> \"<enter>" 

(Hãy chăm sóc những người không được kiểm tra - chỉ đoán cú pháp ở đây.)

Nhưng có một vấn đề khác - vim thường mở ra trong fileformat thiết lập để "mail" hoặc một cái gì đó như cái đó. Bạn sẽ cần phải đặt nó thành "diff" một cách rõ ràng. Vì vậy, trong Vim bạn cần phải:

:set filetype=diff 
:syntax on 

Có thể một macro hoặc một cái gì đó tương tự. Tôi biết điều này không phải là lý tưởng, nhưng nó là một cái gì đó ít nhất ;-) Chúc may mắn.

1

Tôi muốn bắt đầu bằng cách viết một tập tin cú pháp tùy chỉnh, nói ~/.vim/cú pháp/muttdiff.vim:

syn match quote "^>* " 
syn match quotedDeletion "^>* *-.*" contains=quote 
syn match quotedAddition "^>* *+.*" contains=quote 

hi quotedDeletion ctermfg=red 
hi quotedAddition ctermfg=green 
hi quote ctermfg=white 

Và chắc nguồn vim file nếu nó được chỉnh sửa một thông điệp mutt.

Đó là một khởi đầu tốt nếu bạn muốn tìm hiểu cách tạo tệp cú pháp tùy chỉnh cho vim.

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