2009-04-01 15 views

Antwort

2

MultipleSearch: Markieren Sie mehrere Suchen zur gleichen Zeit, die jeweils mit einer anderen Farbe.

: Suche // markiert alle Vorkommen von im aktuellen Puffer. Eine nachfolgende: Suche wird alle Vorkommen von in dem aktuellen Puffer hervorheben.

35

Dies kann manuell ohne Skript für zwei Suchmuster erfolgen.

:match Search /pattern/ 
:match Search /<CTRL-R>/ # highlight the current search pattern 

Suche ist der Name der Hervorhebungsgruppe, verwenden Sie den Abschluss, um eine andere Gruppe auszuwählen, die mit einer anderen Farbe hervorgehoben werden soll.

Dies ist nützlich, wenn Sie Ihre eigene vim-Konfiguration nicht verwenden können.

:match none  # clear the match pattern to stop highlighting 
+4

Hat nicht für mich gearbeitet. Für alle, die sich fragen, versuchen Sie dies: http://stackoverflow.com/questions/4162664/vim-highlight-a-list-ofwords#comment4494852_4162735 –

5

Ja, out-of-the-box können Sie matchadd() verwenden.

Um ein Highlight, z. für nachfolgende Leerzeichen:

:highlight ExtraWhitespace ctermbg=grey guibg=grey 
:call matchadd('ExtraWhitespace', '\s\+$', 11) 

alle Spiele an:

:echo getmatches() 

entfernen Streichhölzer matchdelete() verwenden. ZB .:

:call matchdelete(7) 
1

Mein Mark plugin können mehrere Wörter in verschiedenen Farben markieren gleichzeitig, wie die eingebaute Suche. Es kommt mit vielen Zuordnungen und Befehlen, ermöglicht es, die Muster zu erhalten, und unterstützt mehrere Farbpaletten.

+0

Hat es github Seite mit Leitlinienbeschreibung? Es ist nicht leicht, auf vim.org zu lesen. Auch nicht einfach Probleme zu melden. –

+0

Wie kann ich dieses Plugin von Vundle installieren? Da der Code in github vim-scripts zu alt ist. –

+0

@LiMingHung Diese Version von vim-scripts funktioniert, aber ja, es ist veraltet. Du könntest die Jungs von vim-scripts bitten, sie zu aktualisieren; Sie haben einige nervige Probleme mit ihrem Schaber. –

19

Für mehrere Strings in vim der Suche können Sie tun:

/search1\|search2 

Dies funktioniert, und wird sowohl search1 und search2, aber mit der gleichen Farbe markieren. Sie müssen dies in Vim-Editor tun.

+0

Was ist, wenn Sie nach search1 suchen möchten, aber nicht mit search2 übereinstimmen, wie kann ich diese Befehlszeile in vim ändern? – medev21

29

Es gibt zwei einfache Möglichkeiten, mehrere Wörter im vim-Editor hervorzuheben.

  1. Zum Suchmodus wechseln, d.h.Geben Sie '/' ein und geben Sie dann \ v gefolgt von den zu durchsuchenden Wörtern getrennt durch '| '(Rohr).
    Ex: /\ vword1 | word2 | word3
  2. Go-Modus zu suchen und geben Sie die Wörter, die Sie durch "getrennt suchen möchten \ | '.
    Ex: /word1 \ | word2 \ | word3

Grundsätzlich ist der erste Weg Sie im regulären Ausdruck Modus versetzt, so dass Sie jedes Rohr oder andere Trennzeichen verwendet werden, keine Schrägstriche jede zusätzliche zurück setzen müssen, bevor zum Suchen.

Verwandte Themen