2010-11-18 13 views
1

Je cherche un moyen de faire en sorte que la recherche en surbrillance de vim ne fonctionne que sur une partie de mon terme de recherche.Mettez en surbrillance seulement une partie d'un terme de recherche dans Vim

Je visualise un énorme fichier journal de dumps de données. Il ressemble à ceci: field1: field2 12 345: 12 345 field3: field4 12 345: 12 345 field5: ... 12345 field1: 11111 field2: 22222 field3: 33333 ... et ainsi de suite . J'aimerais pouvoir mettre toutes les valeurs fieldX en surbrillance pendant un instant, puis passer rapidement à la mise en surbrillance des valeurs de fieldY. Est-il possible de rechercher quelque chose comme 'field3: \ d \ d \ d \ d \ d' et de ne mettre en surbrillance que la partie numéro? Donc, en recherchant «mon terme de recherche en surbrillance», je voudrais seulement surligner en surbrillance.

Merci,

Andrew

Répondre

3

Si je comprends bien votre question, vous pouvez essayer de chercher comme ceci:

/field3: \zs\d\d\d\d\d 

Cela mettra en surbrillance tous les nombres (et seulement les nombres) qui viendront après field3:

Pour une commutation rapide, vous pouvez essayer: /, up-arrow, remplacez field3 par field2.

Est-ce ce que vous cherchiez?

+1

\ ze est l'autre bit que je cherchais. – ajwood

0

bien mettre en évidence FIELDY je ne suis pas sûr (un peu lil d'un noob vim), mais vous devriez être en mesure de GOTO juste le prochain travail en tapant w

pour se rendre à la prochaine fieldX, tapez n

ce ne sera pas mettre en évidence Fieldy mais il mettra le curseur au début de ce nombre

0

Pas exactement ce que vous recherchez, mais en cours d'exécution:

:%!column -t 

fera vos colonnes plus visibles