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.