Mam piękny schemat kolorów Vim ( xoria256 ) i wygląda świetnie w GVimie, ale kiedy używam normalnego vim
w Terminalu, schemat kolorów jest tylko częściowo obsługiwany - na przykład używany jest domyślny półprzezroczysty kolor tła bakłażana. Jak sprawić, by Terminal wiernie renderował mój schemat kolorów Vima?
command-line
vim
colors
David Siegel
źródło
źródło
Odpowiedzi:
Terminal GNOME obsługuje 256 kolorów, ale nie reklamuje swojej obsługi. Możesz zastąpić automatyczne wykrywanie vima, stawiając następujące:
w twoim ~ / .vimrc.
Uwaga : jeśli używasz ekranu GNU, z przyjemnością zje on te 256-kolorowe kody i przekonwertuje je na podstawowe 16 kolorów. Lepszym rozwiązaniem jest zmiana TERM na xterm-256color przed uruchomieniem screen / vim.
Aktualizacja na rok 2017 : jeśli masz odpowiednio najnowszą wersję Vima (7.4.1799 lub nowszą) oraz wystarczająco zaawansowany emulator terminala (xterm lub terminal gnome oparty na wystarczająco najnowszej wersji VTE), możesz
:set termguicolors
i terminal vim użyje pełnej 24-bitowe kolory zgodnie z definicją używanego motywu vimhighlight guifg=#rrggbb guibg=#rrggbb
.źródło
:set t_Co=256 | colorscheme xoria256
.if $COLORTERM == 'gnome-terminal'
`set t_Co = 256`endif
(Nie jestem pewien, jak dodać wieloliniowe bloki kodu w komentarzach, więc dodaj nowe wiersze przed i po instrukcji set)Bardziej ogólnym rozwiązaniem jest zainstalowanie terminu typu „xterm-256color”. W 10.04 myślę, że jest domyślnie zainstalowany. Wcześniej trzeba było zainstalować „ncurses-term”, aby go uzyskać.
Następnie ustaw typ terminu w .bashrc za pomocą czegoś takiego:
Jeśli wolisz mieć tylko 256 kolorów dla niektórych programów (być może myli niektóre inne), użyj zamiast tego:
i być może ustawił to jako alias dla programu.
Następnie sprawdź możliwości kolorów terminala za pomocą:
Nadal możesz potrzebować powyższego ustawienia vima, aby vim mógł je rozpoznać. Większość aplikacji rozpozna automatycznie 256 kolorów (jeśli mogą z nich skorzystać).
Emacs ma również motywy kolorów, które są znacznie lepsze z 256 kolorami. Aby sprawdzić, czy działa w 256 kolorach:
256colors.pl to skrypt Perla, który wyświetli wszystkie kolory w twoim terminalu.
źródło
[[ -n "$DISPLAY" && "$TERM" = "xterm" ]] && export TERM=xterm-256color
. Sprawdź i dodaj go do postu.;
zrobić wszystko, aby wszystko było jedno-liniowe.Po prostu dołącz poniższy wiersz do swojego
$HOME/.bashrc
(najlepiej w ostatnim wierszu pliku):I zapisz to. Następnie zrestartuj terminal gnome. Ta zmiana będzie dostępna nie tylko w vimie, ale dla wszystkich aplikacji terminalowych.
Aby sprawdzić, czy to działa, uruchom ten mały skrypt :
Następnie zobaczysz coś takiego (zależy od motywu terminalu gnome):
źródło
Zawsze możesz skonfigurować Gvima, aby wyglądał jak Vim. Musisz tylko utworzyć plik ~ / .gvimrc i wkleić w nim następujące sztuczki dostosowywania:
Nie sądzę, że to rozwiązuje twój problem, ale kto wie ;-)
źródło
Stworzyłem osobny profil dla Vima, który używa jednolitego, nieprzezroczystego koloru w tle. Po prostu ręcznie przełączam się na to za każdym razem, gdy używam Vima. Nie jestem pewien, czy istnieje lepsza metoda. Tak myślałem
źródło
if has("gui_running")
w swoim vimrc, aby ustawić opcje specyficzne dla GUI.