J'essaie d'obtenir 256 fichiers de thème de couleur pour travailler avec VIM sous xterm.
C'est peaksea quoi il ressemble pour moi:
À quoi cela devrait ressembler:
J'ai essayé de suivre les conseils de la page wiki en vain.
set t_Co=256
fonctionne bien mais
set t_AB=^[[48;5;%dm
set t_AF=^[[38;5;%dm
entraîne l'affichage des séquences d'échappement sur le terminal:
EDIT: Mikel avait raison, j'avais besoin de taper Ctrl + v + Esc pour saisir le ^ [correctement. Cependant, cela n'a pas résolu mon problème.
Alors, quels autres changements puis-je essayer pour que cela fonctionne?
information additionnelle
$ 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
EDIT: Solutions tentées
J'ai déjà installé rxvt-unicode et l'utilisais auparavant. Cependant, j'ai eu le même problème. Voici une comparaison côte à côte des deux. A gauche, xterm et à droite, urxvt. Le fichier ouvert est le .Xdefaults qui montre les paramètres pour urxvt dont l'un pourrait être le problème?
J'ai également exécuté le script de test des couleurs avec une sortie apparemment positive. Le haut est xterm le bas est urxvt.
$ echo $TERM
xterm-256color
Solution de contournement
J'utilise maintenant CSApprox et cela semble fonctionner assez bien. Ce qui m'embrouille toujours, c'est pourquoi le thème ne fonctionne pas même s'il a défini les paramètres de couleur de console appropriés. Cela a peut-être quelque chose à voir avec la façon dont vim se considère. Il a été installé dans le cadre du package gvim afin qu'il puisse ignorer les paramètres cterm.
EDIT: Et maintenant tout semble aller bien ..
Étrangement après l'installation de CSApprox puis sa suppression, tout semble fonctionner comme il se doit. Je viens de télécharger un autre schéma de couleurs et il s'est parfaitement chargé même sans le module CSApprox en cours d'exécution.
urxvt
songé à utiliser et à vous épargner le problème? (pacman -S rxvt-unicode
).^[
? Vous devez le faire en utilisant Ctrl + V + Esc.TERM=screen-256color
raison de tmux, mais les choses fonctionnent également avec l'xterm-256color
extérieur de tmux.Réponses:
Caleb a raison dans son commentaire. xterm est assez ancien et vous devriez envisager de passer à urxvt - au moins la version 256 et utf-8, consultez votre gestionnaire de paquets pour installer la bonne.
J'ai une configuration identique à la vôtre - WM génial, vim, urxvt, tmux / screen - et ils fonctionnent tous bien avec 256 couleurs et utf-8. J'ai défini TERM sur
xterm-256color
au cas où vous auriez besoin de le régler manuellement.Hum ... Après votre édition, pouvez-vous vérifier si le thème de couleur vim est correctement défini pour les terminaux?
la source
Ce n'est pas seulement que votre terminal doit prendre en charge 256 couleurs, le thème dans vim fera référence aux couleurs de vos .Xdefaults / .Xresources. Pour résoudre ce problème, vous devez utiliser les mêmes couleurs que l'auteur du thème ou utiliser gvim à la place.
En jetant un œil au code, je peux voir qu'il prend correctement en charge gvim, c'est pourquoi l'utilisation de CSAprox fonctionne, car il prend les codes de couleur gvim en HEX (par exemple: # 123ABC) et les traduit dans les couleurs de votre terminal, je pense.
Exemple
Vim en mode console prendra les couleurs de:
en mode graphique:
Donc, si vous avez installé une sorte de "thème" pour les couleurs de votre terminal, cela affecterait les couleurs que vous obtenez dans Vim. Vérifiez également que vous avez
dans votre .vimrc
la source
essayez de mettre:
export TERM=xterm-256color
dans votre bashrc.
Cela devrait le réparer ...
la source
.bashrc
rarement "corrigés"; il est plus susceptible d'entraîner d'autres problèmes involontaires ...