Portál AbcLinuxu, 25. dubna 2024 07:02


Dotaz: Vim, uživatelské zvýraznění syntaxe

22.4.2007 17:51 Přemek Jordák | skóre: 12 | Beroun
Vim, uživatelské zvýraznění syntaxe
Přečteno: 380×
Odpovědět | Admin
Dobrý den, prosím o radu k nastavení syntaxe ve Vimu. Píši syntaxi pro svůj formát a potřeboval bych aby například číslo o 12 cifách mělo první čtyřčíslí zvýrazněno jednou barvou, další druhou barvou a poslední třetí barvou. Jdu na to následovně:
syntax match Cislo  /[0-9]\{12\}/ contains=Cislo1,Cislo2,Cislo3

syntax match Cislo1 /[0-9]\{4\}[0-9]\{8\}/ms=s,me=e-8 contained
syntax match Cislo2 /[0-9]\{4\}[0-9]\{4\}[0-9]\{4\}/ms=s+4,me=e-4 contained
syntax match Cislo3 /[0-9]\{8\}[0-9]\{4\}/ms=s+8,me=e contained
Bohužel tato varianta nefuguje jak by měla, syntaxe funguje pouze pro skupinu Cislo1. Cislo2 a Cislo 3 jsou ignorovány. Děkuji
Blogy neprohlížím, nepíši a ani se jim valně nesměji
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.4.2007 08:19 cedrik
Rozbalit Rozbalit vše Re: Vim, uživatelské zvýraznění syntaxe
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nezkousel jsem ale tohle by i mohlo fungovat
syntax match cislo1 /\d\d\d\d/ nextgroup=cislo2 containedin=ALL
syntax match cislo2 /\d\d\d\d/ contained nextgroup cislo3
syntax match cislo3 /\d\d\d\d/ contained nextgroup cislo4
syntax match cislo4 /\d\d\d\d/ contained
... a teď jsem značne nejistý jestli to má končit takto. Co vím, tak
syntax match cislo4 /\d\d\d\d/ contained nextgroup cislo2
ti bude opakovat zvýrazňování do te doby, dokud tam budou cisla. regexp si uprav dle tvé zvůle.

Pak hi match cislo1 .... ale to zrejme vis.

ced

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.