ricerche separate in Windows in VIM
Domanda
Quando divido VIM per mostrarmi alcuni file o parti diverse dello stesso file, c'è un modo per me di avere una ricerca in una finestra e una ricerca diversa in un'altra? Ad esempio, vorrei che la finestra superiore avesse il modello di ricerca foo
e la finestra inferiore con il modello di ricerca bar
.
Il modello di ricerca attivo influisce su ciò che viene evidenziato quando si utilizza l'evidenziazione della ricerca, ed è piuttosto fastidioso quando ho pippo
evidenziato nella finestra superiore, quindi passo alla finestra inferiore e cerco < code> bar e foo
non vengono più evidenziati nella finestra superiore.
Modifica: Questa domanda sembra essere correlata, anche se non sono sicuro che sia un duplicato esatto.
Soluzione
Uso questo script per evidenziare più schemi di ricerca.
Altri suggerimenti
La risposta di Canopus è probabilmente il modo migliore per farlo se lo usi spesso, ma se vuoi farlo con un'installazione vanilla vim (o più al punto, senza installare alcun plugin), puoi semplicemente farlo :
:call matchadd('Search', 'foo')
:call matchadd('Search', 'bar')
Puoi quindi cancellare tutte le partite con
:call clearmatches()
Ci sono anche modi per essere più pignoli su ciò che si cancella (con : call matchdelete (...)
) salvando l'output di matchadd in una variabile. Puoi leggere ulteriori informazioni al riguardo in : help matchadd ()
e : help matchdelete ()
Se non stai usando un file di sintassi troppo complicato (e in particolare, non usando l'evidenziazione rainbow.vim), probabilmente puoi farlo anche con:
:syn keyword Search foo
:syn keyword Search bar
e cancellalo con
:syn clear Search
L'unico vantaggio possibile di questo che mi viene in mente è che se ci sono un lotto di partite che stai cercando di evidenziare, un momento saliente parola chiave
è un molto più veloce di un momento saliente di match
(poiché quest'ultimo utilizza una ricerca di espressioni regolari). Puoi comunque fare una corrispondenza syn keyword
se stai usando rainbow.vim, ma il comando è molto più complicato.