2011-11-10 7 views
7

Jaki jest najlepszy sposób różnicowania kolorów, cytowany w Mutt, używając Vima?Jak pokolorować diff cytowany przez Mutt w Vim?

Jeśli otrzymam diff jako załącznik, chcę skomentować niektóre wiersze, ale podczas odpowiadania mutt dodaje znak zapytania (>), który jest dla mnie w porządku, ale wtedy łamie to różnicowanie w Vimie.

Jak dodać do bieżącego wzoru porównania, aby dopasować go nawet do pierwszych znaków >? (Byłoby lepiej dopasować więcej ^[> ] wzory)

Przykład diff cytowany wiadomość:

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

Odpowiedz

0

Proponuję ustawić indent_string z jego wartość domyślną („>”) do pustego łańcucha przy użyciu makro. Przykład z kluczem „, r” związany:

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

Trzeba by ustawić ją z powrotem do domyślnych po komendzie. Więc coś takiego:

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

(Uważaj, te nie są testowane - tylko zgadywać składni tutaj).

Ale jest inny problem - vim zazwyczaj otwiera się w fileformat ustawiony na „poczta” lub coś podobnego że. Musiałbyś ustawić go na "diff" explicitely. Więc w Vim musisz:

:set filetype=diff 
:syntax on 

Może inne makro lub coś w tym stylu. Wiem, że to nie jest idealne, ale to przynajmniej coś ;-) Powodzenia.

1

zacząłbym pisząc własny plik składni, powiedzmy ~/.vim/syntax/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 

I uczynić źródło vim plik, jeśli jest edytowania wiadomości mutt.

To dobry początek, jeśli chcesz dowiedzieć się, jak utworzyć niestandardowy plik składni dla vima.

Powiązane problemy