zrobić dokładnie to, co chcesz w C. Sztuką jest ukryć każdy znak oddzielnie, tak jak poniżej:
syn match ArrowHead contained ">" conceal cchar=▶
syn match ArrowTail contained "-" conceal cchar=─
syn match ArrowFull "->" contains=ArrowHead,ArrowTail
Może się okazać, że ArrowHead lub ArrowTail zostanie dopasowany poza ArrowFull, niestety. Dzieje się tak, ponieważ istniejące reguły składni używają contains=ALLBUT,...
lub czegoś podobnego.
Aby naprawić to w C, dodałem ArrowTail i ArrowHead do klastra cParenGroup, co wydaje się zapobiegać wszelkim problemom.
syn cluster cParenGroup add=ArrowTail,ArrowHead
Być może trzeba będzie zrobić coś podobnego dla Haskella.
Ponieważ nie używać funkcji ukryć w ogóle inaczej, mówię Vim iść do przodu i „ukryć” strzałki CAŁY czas:
set conceallevel=1 concealcursor=nvic
BTW, jeśli nie lubisz domyślnych kolorów aby ukryć znaki, możesz zmienić je tak:
hi conceal ctermfg=DarkBlue ctermbg=none guifg=DarkBlue guibg=none
Jaki jest Twój sposób na zastąpienie jednej postaci drugą? –
Edytowałem swoją odpowiedź, właściwie używam ukrytego mechanizmu służącego do podświetlania składni – yogsototh
czy możesz opublikować kompozycję z "" → "' - wydaje się być niezbędna do tego pytania? – sehe