2011-12-30 11 views
10

Dlaczego schematy kolorów vim różnią się między gvim a normalnym terminalem? Na przykład wiele schematów tego showcase nie działa w normalnym terminalu. Zapisuję wszystkie nowe schematy do ~/.vim/colors/ i ustawię z :colorscheme coolDlaczego schematy kolorów vim różnią się między gvim a normalnym terminalem?

Jakikolwiek sposób rozwiązać ten problem?

+0

Czy w jednym z nich występuje różnica między światłem a ciemnym tłem? Proszę również zamieścić swoje '~/.vimrc' na maszynie o nazwie –

+0

@ mike-pennington vimrc added. Widziałem ten problem również w innych komputerach. –

+0

co gvim? Technicznie może to być 'vim-gtk' lub' vim-gnome' –

Odpowiedz

10

Okna terminala (takie jak xterm) są zwykle ograniczone do 2 ** 8 kolorów. Z drugiej strony, termin GUI może mieć tyle kolorów, co graficzny pulpit Windows.

Wiele schematów kolorów vim zostało zaprojektowanych dla GUI lub terminala; jeśli są zaprojektowane dla graficznego interfejsu użytkownika, jest mało prawdopodobne, aby były wyświetlane domyślnie w terminalu.

Jeśli chcesz przekonwertować schemat GUI na terminal (256 kolorów), możesz użyć wtyczki CSApprox.

+0

+1 dzięki za podpowiedź wtyczki ... –

+0

Bardzo proszę, zostaw notatkę, jeśli napotkasz inne problemy z kolorami –

+2

Zdecydowanie [CSApprox "Make gvim-only colorschemes działają transparentnie w terminalu vim "] (http://www.vim.org/scripts/script.php?script_id=2390) to dobre rozwiązanie. THX –

1

Ponieważ gvim bezpośrednio wybiera kolory X11, a terminal vim używa dostępnej palety terminali.

Więc jeśli używasz nowoczesnego terminala (gnome, kde lub nawet OS X), możesz zmienić paletę dostępnych kolorów, a VIM będzie wyglądał zupełnie inaczej. Z drugiej strony GVIM ustawia kolory bezpośrednio bez pośredniej warstwy tłumaczenia aplikacji terminalowej.

+0

+1 masz rację na temat palety (KDE w moim przypadku), dziękuję. Jakikolwiek sposób obejść to? –

+0

Czy twój vim został skonfigurowany tak, aby używać 256 kolorów lub tylko 16 kolorów minimalnych? Sprawdź http://vim.wikia.com/wiki/256_colors_in_vim – nimrodm

9

Dwie aktualne odpowiedzi są całkiem dobre. Twój głos powinien trafić do Mike'a, ponieważ nie ma idealnego rozwiązania.

Vim colorschemes zwykle określają kolory oddzielnie dla GUI i CLI. Niektóre kolory nie definiują niczego dla interfejsu CLI i tych, które używają X11 colors.

Te kolory X11 (zanotowane 0-255) są bardziej lub mniej wystandaryzowane od bardzo długiego czasu i działają naprawdę tylko w emulatorach terminali obsługujących 256 kolorów. W innych mniej wydajnych emulatorach terminala wyższe liczby są pomijane, a kolory są pomieszane.

GUI Vim może również wykorzystywać te 256 kolorów oraz dowolny kolor, który może być pożądany, o ile jest określony za pomocą zapisu szesnastkowego (# 00d6e3).

Ponieważ kolory GUI mogą wykorzystywać tysiące kolorów, a kolory CLI mogą używać tylko 256 kolorów, wartości używane w CLI mogą być jedynie przybliżeniami tych używanych przez GUI. Właśnie dlatego CLI Vim nie może tak naprawdę wyglądać jak GUI Vim, nawet jeśli używasz nowoczesnego emulatora terminala.

Jeśli twój wybór kolorów wymaga użycia kolorów spoza zakresu X11, nigdy nie będziesz miał CLI Vim i GUI Vim tak samo.

Jedyny sposób, aby zsynchronizować kolory GUI i CLI Vim Widzę, to głupi dół GUI colorscheme przy użyciu X11 kolorów tylko.

+0

+1 dobre CV z powodów tego problemu. –

+0

CV -> podsumowanie :) –

0

Tam jest nowe dziecko w bloku o nazwie CSExact, które tworzy terminal do dokładnych kolorów kolorów. Kolory wyglądają znacznie lepiej niż w przypadku CSApprox.

Ta wtyczka pozwala na użycie schematów kolorów GUI (GVim) w (niektórych) terminalach. Dokonuje się tego za pomocą magii terminalu, modyfikując paletę kolorów terminala podczas uruchamiania i za każdym razem, gdy ładowany jest schemat kolorów.

Powiązane problemy