Próbuję uzyskać 256 plików motywów kolorów do pracy z VIM pod xterm.
Oto jak wygląda dla mnie morze :
Jak powinno to wyglądać:
Próbowałem postępować zgodnie ze wskazówkami na stronie wiki, ale bezskutecznie.
set t_Co=256
działa dobrze, ale
set t_AB=^[[48;5;%dm
set t_AF=^[[38;5;%dm
powoduje wyświetlenie sekwencji ucieczki na terminalu:
EDYCJA: Mikel miał rację, musiałem wpisać Ctrl + v + Esc, aby wprowadzić ^ [poprawnie. Nie rozwiązało to jednak mojego problemu.
Więc jakie inne zmiany mogę spróbować, aby to zadziałało?
dodatkowe informacje
$ uname -a
Linux xxxxxxx 3.4.7-1-ARCH #1 SMP PREEMPT Sun Jul 29 22:02:56 CEST 2012 x86_64 GNU/Linux
-
$ xterm -version
XTerm(281)
-
$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 13 2012 05:24:27)
Included patches: 1-600
Compiled by ArchLinux
Big version with GTK2 GUI. Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
+file_in_path +find_in_path +float +folding -footer +fork() +gettext
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall
+linebreak +lispindent +listcmds +localmap +lua +menu +mksession +modify_fname
+mouse +mouseshape +mouse_dec +mouse_gpm -mouse_jsbterm +mouse_netterm
-mouse_sysmouse +mouse_xterm +mouse_urxvt +multi_byte +multi_lang -mzscheme
+netbeans_intg +path_extra +perl +persistent_undo +postscript +printer -profile
+python -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
+toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim
+xsmp_interact +xterm_clipboard -xterm_save
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "/etc/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/local/include -march=x86-64 -mtune=generic -pipe -fstack-protector --param=ssp-buffer-size=4 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncurses -lnsl -lacl -lattr -lgpm -ldl -L/usr/lib -llua -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu -fstack-protector -L/usr/local/lib -L/usr/lib/perl5/core_perl/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -lruby -lpthread -lrt -ldl -lcrypt -lm -L/usr/lib
-
$ ls -l /usr/share/terminfo/x/xterm-256color
-rw-r--r-- 1 root root 3336 Feb 8 2012 /usr/share/terminfo/x/xterm-256color
.vimrc
set t_Co=256
.Xdefault
!--------------------- XTERM ------------------------
xterm*dynamicColors: true
xterm*background: black
xterm*foreground: #BBBBBB
xterm*utf8: 2
xterm*eightBitInput: true
xterm*saveLines: 32767
xterm*scrollTtyKeypress: true
xterm*scrollTtyOutput: false
xterm*scrollBar: false
xterm*loginShell: true
xterm*faceName: xft:Dejavu Sans Mono:size=10
xterm*jumpScroll: true
xterm*multiScroll: true
xterm*toolBar: false
xterm*geometry: 100x30
EDYCJA: Próby rozwiązań
Zainstalowałem już rxvt-unicode i używałem go wcześniej. Miałem jednak ten sam problem. Oto porównanie tych dwóch. Po lewej stronie jest xterm, a po prawej urxvt. Otwarty plik to .Xdefaults, który pokazuje ustawienia urxvt, z których jeden może być problemem?
Uruchomiłem również skrypt testowy kolorów z pozornie pozytywnymi wynikami. Top to xterm bottom to urxvt.
$ echo $TERM
xterm-256color
Rozwiązanie obejścia
Teraz używam CSApprox i wydaje się, że działa wystarczająco dobrze. Nadal jestem zdezorientowany, dlaczego motyw nie działa, mimo że ma zdefiniowane odpowiednie ustawienia kolorów konsoli. Być może ma to coś wspólnego ze sposobem, w jaki uważa się vim. Został zainstalowany jako część pakietu gvim, więc mógł ignorować ustawienia cterm.
EDYCJA: A teraz wszystko wydaje się w porządku ..
O dziwo po zainstalowaniu CSApprox i usunięciu go wszystko wydaje się działać tak, jak powinno. Właśnie pobrałem kolejny schemat kolorów i załadował się idealnie, nawet bez uruchomionego modułu CSApprox.
urxvt
i ratowaniem pośpiechu? (pacman -S rxvt-unicode
).^[
? Musisz to zrobić za pomocą Ctrl + V + Esc.TERM=screen-256color
powodu tmux, ale rzeczy działają również zxterm-256color
zewnętrznym tmux.Odpowiedzi:
Caleb ma rację w swoim komentarzu. xterm jest dość stary i powinieneś rozważyć przejście na urxvt - przynajmniej wersję 256 i utf-8, skontaktuj się z menedżerem pakietów, aby zainstalować właściwą.
Mam identyczny zestaw do twojego - niesamowite WM, vim, urxvt, tmux / screen - i wszystkie działają dobrze z 256 kolorami i utf-8. Ustawiłem TERM na
xterm-256color
wypadek, gdybyś musiał ustawić to ręcznie.Hum ... Czy po edycji możesz sprawdzić, czy motyw kolorów vim jest poprawnie zdefiniowany dla terminali?
źródło
Nie tylko terminal powinien obsługiwać 256 kolorów, motyw w vimie będzie odnosił się do kolorów w .Xdefaults / .Xresources. Aby to naprawić, powinieneś użyć tych samych kolorów co autor motywu lub zamiast tego użyć gvim.
Zerkając na kod, widzę, że poprawnie obsługuje gvim, dlatego używanie CSAprox działa, ponieważ pobiera kody kolorów gvim w HEX (np .: # 123ABC) i myślę, że tłumaczą je na końcowe kolory.
Przykład
Vim w trybie konsoli pobierze kolory z:
w trybie graficznym:
Tak więc, jeśli zainstalowałeś jakiś „motyw” dla kolorów terminalu, wpłynęłoby to na kolory uzyskiwane w Vimie. Sprawdź również, czy masz
w twoim .vimrc
źródło
spróbuj umieścić:
export TERM=xterm-256color
w twoim bashrc.
To powinno to naprawić ...
źródło
.bashrc
rzadko rzadko „naprawia” cokolwiek; bardziej prawdopodobne są inne niezamierzone problemy ...