Zmień kolor czcionki dla komentarzy w VIM

96

Chciałbym zmienić domyślny kolor czcionki komentarzy z ciemnoniebieskiego na lekko żółty. Trudno to czytać na czarnym tle. Czy możesz mi doradzić, jak zmienić tylko ten jeden kolor? Jestem zadowolony z innych kolorów.

Używam terminala xfce4 (nie gvim z GUI).

Do tej pory dokonałem ustawień w ~/.profilepliku zgodnie z tym linkiem w następujący sposób

if [ -e /usr/share/terminfo/x/xterm-256color ]; then
        export TERM='xterm-256color'
else
        export TERM='xterm-color'
fi

i

set t_Co=256

w ~/.vimrc

Dziękuję Ci

xralf
źródło
7
Tylko głupie pytanie, czy wypróbowałeś różne wbudowane schematy kolorów? Spróbuj na przykład :colorscheme desert. Wypełnianie tabulatorami powinno zwykle działać.
Benoit,
Próbowałem tego. Ale chciałbym osiągnąć więcej dostosowań. Jeśli nikt nie zna tej odpowiedzi, przyjmuję twoje jako najlepsze rozwiązanie, ponieważ odpowiedziałeś, zanim uściśliłem moje pytanie, w zależności od tego, co chciałem osiągnąć.
xralf
Nie możesz zmienić przypisania palety kolorów terminala? Czy terminal nie ma żadnych ustawień?
Benoit,
@Benoit Zobacz następną wersję pytania.
xralf

Odpowiedzi:

58
:hi Comment guifg=#ABCDEF

Wybierz swój kolor! Jeżeli za pomocą terminala koloru, zastępuje guifg=#ABCDEFsię ctermfg=Nz N jest liczbą kolorów.

Wpisz również, :help :hiaby uzyskać więcej informacji.

Benoit
źródło
2
Dziękuję Ci. ctermfg działa z kolorami takimi jak zielony lub żółty. Ale jeśli dam mu #ABCDEF lub ABCDEF to pisze błąd E421: color name or number not recognized. Nie rozpoznaje liter w kodzie szesnastkowym, rozpoznaje tylko cyfry.
xralf
tak, guifgparametr jest używany, gdy używasz vim gui (gvim).
Benoit
1
To znaczy, że jestem ograniczony tylko do 16 kolorów? Dodałem ustawienie do, .vimrcale to nie działaset highlight Comment ctermfg=yellow
xralf
1
Jest ich więcej niż 16. Zobacz tutaj . Chcę, żeby moje komentarze były żółte, ale tylko lekko żółte i na zawsze. Czy można to ustawić .vimrc?
xralf
3
To już dwa lata za późno, ale na wypadek, gdyby ktoś inny szukał rozwiązania problemu @Roboprog. Mój ignorował to, kiedy umieściłem linię hi comment ctermfg=<colour>w .vimrcpliku, ale syntax on
odkryłem
129

Większość dobrze zachowujących się schematów kolorów będzie respektować to backgroundustawienie:

set background=dark

zmieniłby kolor komentarzy z ciemnoniebieskiego na jasnoniebieski przy użyciu domyślnego schematu kolorów.

nperson325681
źródło
4
To świetne rozwiązanie. Może nie najlepsza odpowiedź na powyższe pytanie, ale rozwiązał problem „bardzo trudny do odczytania” w perfekcyjny sposób.
GabrieleV
5
Powinno to być domyślne ustawienie w Ubuntu. Komentarze są w zasadzie niemożliwe do odczytania, gdy są ciemnoniebieskie na fioletowym tle. Dzięki. Umieściłem to w moim ~/.vimrcpliku. Jeśli ktoś chce przetestować, jak to wygląda bez robienia tego, po prostu wpisz powyższe polecenie w vimie po naciśnięciu :klawisza.
Drew Noakes
1
To była pierwsza rzecz, która pojawiła się w wyszukiwarce Google. Jednak podoba mi się domyślne kolory (inne niż komentarze), które działają dobrze zarówno w ciemnym oknie terminala, jak i po wklejeniu do e-maila / dokumentu z białym tłem. Podoba mi się ciemny terminal, co mogę powiedzieć? (nostalgia / zwyczaj)
Roboprog
2
dodanie linii „set background = dark” do ~ / .vimrc załatwiło sprawę. moje oczy przyzwyczaiły się do innego schematu kolorów, mój mózg myśli, że wygląda to brzydko ... ale przynajmniej widzę teraz moje komentarze. Dzięki.
sonjz
5
@ 3kstc: możesz dodać go do swojego aktualnego stanu ~/.vimrc. Możesz także wyświetlić podgląd tego, co dzieje się w bieżącej sesji, tylko wpisując to w trybie poleceń. (W trybie normalnym wpisz, :aby przejść do trybu poleceń.)
nperson325681
54
hi Comment ctermfg=LightBlue

Dodaj to do swojego .vimrcpliku, który znajduje się w twoim katalogu ~lub w /etc/vimkatalogu. Dzięki temu będzie to trwałe. Nie testowałem tego z gvim.

Mam też set background=lightprzed ustawieniem koloru komentarza. Podobają mi się wszystkie stworzone przez nią kolory oprócz komentarzy.

Gaurav
źródło
1
Skąd się LightBluebierze?
nn0p
to działało dla mnie tylko wtedy, gdy umieściłem go na końcu .vimrc
user3342981
8

Jeśli celem jest uczynienie go bardziej czytelnym na zwykłym tle konsoli texto, poniższe polecenie udowodniło, że jest wspaniałą opcją i łatwiejszą do zapamiętania:

:colorscheme evening

Pamiętaj jednak, że zmieni to kolory innych elementów.

Germano
źródło
6

Po krótkich poszukiwaniach można znaleźć przyzwoite odniesienie do vima, szczególnie w tym zakresie, na stronie http://vim.wikia.com/wiki/256_colors_in_vim . Dobrym miejscem na rozpoczęcie jest jednak: be: verbose hi, kiedy faktycznie jest w vimie, i edycja pliku. Następnie sprawdź, w jaki sposób wszystkie zmienne mają powiązane z nimi metadane. Dane zwrócone stamtąd, naprawdę ułatwiają dodawanie żądanych typów modyfikatorów do .vimrc. Jako przykład są to aktualizacje, które ostatnio dodałem, aby pozbyć się ciemnoniebieskiego i nie musieć dręczyć jasnoniebieskiego w konsekwencji:

    set number background=dark
    syntax on
    highlight Comment    ctermfg=119
    highlight Identifier ctermfg=99AA00
Douglas Randall
źródło
1

W programie dostępne są różne schematy kolorów vim. defaultschemat kolorów wyświetla komentarz w kolorze niebieskim, co utrudnia odczytanie na czarnym tle terminala. Wolę używać desertschematu kolorów, który wyświetla się w czytelnych kolorach.

Aby włączyć desertschemat kolorów w programie vim, użyj polecenia :color desert. Jeśli chcesz wrócić, defaultużyj polecenia :color default.

Możesz nawet zaktualizować ~/.vimrcswój preferowany schemat kolorów.

echo 'color desert' >> ~/.vimrc

rashok
źródło