Vim: come cambiare il colore di evidenziazione per i risultati di ricerca e la selezione di correzione rapida


124

Sto usando lo schema dei colori del deserto, che utilizza il testo bianco su sfondo arancione per evidenziare i risultati della ricerca. Lo stesso modello viene utilizzato per la voce selezionata nella finestra di correzione rapida.

Il bianco su arancione non è molto leggibile. Come lo cambio in .vimrc?

Modifica: grazie per la risposta rapida, per lo schema del deserto ora sto usando la seguente modifica di evidenziazione della ricerca:

highlight Search guibg='Purple' guifg='NONE'

Il viola è abbastanza facile da rilevare visivamente e IMHO non è utilizzato per la colorazione della sintassi nello schema desertico.

Risposte:


162

Guarda $VIMRUNTIME/colors/desert.vim. Le mappature dei colori vengono definite lì con il hi[ghlight]comando. L'evidenziazione della ricerca è definita come

hi Search guibg=peru guifg=wheat

per la GUI e

hi Search cterm=NONE ctermfg=grey ctermbg=blue

per terminali.

È possibile sovrascrivere questa impostazione .vimrcutilizzando lo stesso comando dopo aver selezionato il file colorscheme. Scrivi :h hiper aiuto.


2
Hey! Mi hai appena dato un altro suggerimento. Ho sempre usato: help invece di: h;)
Juve

2
Ho trovato la combinazione di colori della torta per soddisfare le mie esigenze. : colorscheme torte
James Mills

13
Potrebbe essere necessario farlo anche :set hlsearchse i risultati della ricerca non vengono affatto evidenziati.
Jeff Allen

Per farlo una volta per la tua sessione vim corrente e non persistere le modifiche, :hi:hi Search cterm=NONE ctermfg=grey ctermbg=blue
eseguilo

Vedo che questo evidenzia tutte le istanze. Come si modifica l'evidenziazione dell'istanza su cui si trova attualmente il cursore?
Costa

49

Per quanto mi riguarda devo aggiungere anche hlsearch sotto syntax onin~/.vimrc

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

All'interno di VIM puoi anche fare: :highlight Search ctermfg=yellowcambiarlo al volo.

  • ctermfg è per il colore di primo piano
  • ctermbg è per il colore di sfondo

i colori disponibili dalla pagina della documentazione di vi sono:

*cterm-colors*

NR-16   NR-8    COLOR NAME 
0       0       Black
1       4       DarkBlue
2       2       DarkGreen
3       6       DarkCyan
4       1       DarkRed
5       5       DarkMagenta
6       3       Brown, DarkYellow
7       7       LightGray, LightGrey, Gray, Grey
8       0*      DarkGray, DarkGrey
9       4*      Blue, LightBlue
10      2*      Green, LightGreen
11      6*      Cyan, LightCyan
12      1*      Red, LightRed
13      5*      Magenta, LightMagenta
14      3*      Yellow, LightYellow
15      7*      White

6

Nel mio caso la riga nella finestra QuickFix mostrava un grigio illeggibile su ciano, che era diverso dai risultati della mia ricerca (un nero più gradevole su pesca) Ciò è stato confermato dal comando

:hi

che mostrava la formattazione di QuickFixLinee Searchcome impostato su

QuickFixLine   xxx term=reverse guibg=Cyan
Search         xxx term=reverse ctermfg=0 ctermbg=222 guifg=#000000 guibg=#FFE792

dove xxxaveva un formato di esempio,

Ho aggiunto la seguente riga al mio ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

e ora nella mia finestra di terminale ho uno sfondo rosso scuro più gradevole. L'esecuzione hi:mostra l'aggiunta del cambio di colore di sfondo per il mio ternimal:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(vim 8 su MacOS High Sierra in iTerm2, con tema molokai)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.