Domanda

Voglio cercare più stringhe in Vim / gVim e li hanno evidenziati in diversi colori. C'è un modo di fare questo con fuori-the-box Vim o con un plug-in?

È stato utile?

Soluzione

Prova " evidenziare più parole ", che utilizza matchadd().

Altri suggerimenti

Ci sono due modi semplici per evidenziare più parole in vim.

  1. Vai alla ricerca modalità cioè del tipo ' / ' e quindi digitare \ v , seguito dalle parole che si desidera cercare separati da ' | '(pipe).
    Es: / \ vword1 | parola2 | parola3
  2. Vai modalità di ricerca e digitare le parole che si desidera cercare separati da ' \ | '.
    Es: / parola1 \ | parola2 \ | parola3

In sostanza il primo modo in cui si mette in modalità espressione regolare in modo che non c'è bisogno di mettere qualsiasi barre rovesciate in più prima di ogni tubo o altri delimitatori utilizzati per la ricerca.

Questo può essere fatto manualmente, senza copione, per due modelli di ricerca.

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

Search è il nome del gruppo di evidenziazione, utilizzare il completamento di selezionare un altro gruppo per evidenziare con un colore diverso.

 :match <TAB>
 :match <TAB>    # completion will list all highlight group

Questo un essere utile quando non è possibile utilizzare la propria configurazione vim.

:match none      # clear the match pattern to stop highlighting

Per la ricerca più stringhe in vim si può fare come:

/search1\|search2

Questo funziona, e metterà in evidenza sia search1 e search2, ma con lo stesso colore. Devi fare questo in editor di vim.

Si, out-of-the-box è possibile utilizzare matchadd() .

Per aggiungere una luce, ad esempio. per spazio bianco in coda:

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

Per visualizzare tutte le partite:

:echo getmatches()

Per rimuovere le partite utilizzare matchdelete() . Ad esempio:.

:call matchdelete(7)

multiplesearch : Evidenziare ricerche multiple allo stesso tempo, ognuno con un colore diverso.

http://www.vim.org/scripts/script.php ? script_id = 479

:Search <pattern1> //will highlight all occurences of <pattern1> in the current buffer.
A subsequent :Search <pattern2> will highlight all occurences of <pattern2> in the current buffer.
:%s /red\|green\|blue/

Non sono sicuro su come mantenere i colori differenti per i diversi parola chiave però. Grazie.

MultipleSearch2 è un altro script, che è integrato con la ricerca di vim: http://www.vim.org/scripts/script.php?script_id= 1183

Mark plug possono evidenziare alcune parole in diversi colori contemporaneamente, come la ricerca integrata. Viene fornito con molte mappature e comandi, permette a persistere i modelli, e supporta più tavolozze di colori.

Io preferisco plugin di evidenziare, semplice e abbastanza, in grado di evidenziare parole diverse in modo diverso i colori automaticamente.

http://www.vim.org/scripts/script.php? script_id = 1599

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top