Używam gvima jako edytora tekstu, a kolorowanie składni jest świetne, z wyjątkiem tego, że podkreśla „błędy” i daje białe tło z czerwoną czcionką. Jak wyłączyć wyróżnianie błędów? Uważam to za denerwujące i nie potrzebuje tego.
Używam gvima jako edytora tekstu, a kolorowanie składni jest świetne, z wyjątkiem tego, że podkreśla „błędy” i daje białe tło z czerwoną czcionką. Jak wyłączyć wyróżnianie błędów? Uważam to za denerwujące i nie potrzebuje tego.
Odpowiedzi:
Podświetlenie komunikatów o błędach jest określane przez grupy wyróżnień Error i / lub ErrorMsg. Nie jestem pewien, który z nich widzisz, więc równie dobrze możesz wyłączyć oba. Możesz zobaczyć, jak definiowana jest każda grupa, wykonując np.
:hi Error
który pokaże Ci w kolorze linię taką jak ta:
Error xxx term=reverse cterm=bold ctermfg=7 ctermbg=1 guifg=White guibg=Red
Najłatwiejszym sposobem wyczyszczenia tych ustawień jest wykonanie
:hi Error NONE
:hi ErrorMsg NONE
Jeśli nigdy nie ustawiłeś żadnych schematów kolorów, myślę, że możesz po prostu umieścić te polecenia w ~ / .vimrc, po dowolnym :filetype, :synlub :colorschemepoleceniach. Jeśli zmienisz schematy kolorów, musisz zrobić coś takiego, jak używanie poleceń automatycznych, aby upewnić się, że te grupy wyróżnień są zawsze jasne, np.
au ColorScheme * hi Error NONE
au ColorScheme * hi ErrorMsg NONE
au GuiEnter * hi Error NONE
au GuiEnter * hi ErrorMsg NONE
Komendy automatyczne GuiEnter odpowiadają za zachowanie Vima po wywołaniu go jako gvim, który ma odroczyć niektóre ustawienia kolorów, aż do odczytania ~ / .vimrc i wyświetlenia GUI.
:help synID()i przewiń na dół tego wpisu. Tam znajdziesz polecenie, które echo nazwy grupy wyróżnień pod kursorem. Kiedy otwieram gvim, wykonuję :e foo.htmli wstawiam >, >kolor jest biały na czerwonym. Wykonywanie tego polecenia synID () powoduje drukowanie htmlErrori wykonywanie :hi htmlErrorwydruków htmlError xxx links to Error. Jeśli widzisz te same wyniki, a błąd jest nadal biały na czerwonym, wypróbuj, :verbose hi Errorktóry pokazuje, gdzie był ostatnio ustawiony.