J'ai installé Ubuntu 11.10. Ensuite téléchargé le thème Solarized pour Gnome Terminal. Depuis le terminal, vim a l’air beau: le plugin vim-powerline s’affiche correctement et la syntaxe est mise en surbrillance avec les couleurs appropriées. Mais lorsque j’exécute tmux et que j’exécute vim - la syntaxe en surbrillance n’utilise qu’une couleur de base et vim-powerline n’affiche aucune couleur. J'ai regardé la FAQ sur vim-powerline et la solution devrait être cette ligne dans .tmux-config:
set -g default-terminal "screen-256color"
Mais ça ne marche pas. J'ai regardé TERM et c'est le retour 'xterm' alors j'ai essayé:
set -g default-terminal "xterm-256color"
Mais cela n'aide pas non plus.
C'est la seule ligne dans .tmux.config. Dans .vimrc j'ai les lignes suivantes:
call pathogen#infect()
set nocompatible
set encoding=utf-8
set laststatus=2
let g:Powerline_symbols = 'fancy'
set t_Co=256
syntax enable
set background=dark
colorsheme solarized
Démarrer tmux avec le drapeau suivant corrige cela pour moi:
tmux -2
depuis la page de manuel de tmux:
-2 Forcer tmux à supposer que le terminal prend en charge 256 couleurs.
Je rencontre le même problème sur Ubuntu 10.04 LTS avec Byobu 5.17 & tmux 1.5 avec la dernière version de Solarized du référentiel GitHub.
J'ai pu résoudre partiellement ce problème en spécifiant $TERM
dans le fichier .bashrc
:
export TERM="xterm-256color"
Il semble également qu’un bogue a été enregistré sur le tableau de bord, mais il n’a pas encore été résolu: byobu n’affiche pas correctement les dircolors
cela a fonctionné pour moi
dans .tmux.conf
set -g default-terminal "screen-256color"
dans .vimrc
set term=screen-256color
supprime l'ancien terme pour .vimrc, croyez-moi, cela fonctionnera
Le type de terminal doit être défini sur screen-256color dans ~/.tmux.conf. Il indique à tmux quoi définir la variable d’environnement TERM, afin que cela ne fonctionne pas pour la session en cours - commencez-en une nouvelle et testez-la ensuite.
Si cela ne fonctionne toujours pas, vous pouvez exécuter Vim en utilisant:
TERM=screen-256color vi
Ceci définit la variable d'environnement juste pour une exécution vi unique.
Si cela ne permet pas à vim d'afficher toutes les couleurs, vérifiez si votre terminal (je ne sais pas si vous effectuez un test avec un seul émulateur de terminal) est compilé pour prendre en charge la palette de 256 couleurs - téléchargez et exécutez le script Perl ci-dessous à partir de l'émulateur de terminal en question.
http://scie.nti.st/dist/256colors2.pl
PS Je suppose que vous avez déjà corrigé la faute de frappe notée par jordanbrock.
Comme expliqué par Marcin Kaminski, si TERM=screen-256color vim <filename>
fonctionne pour vous, ajoutez simplement ce qui suit dans votre .bashrc
TERM=screen-256color
et suivant dans votre .tmux.conf
:
set -g default-terminal "screen-256color"
J'ai eu le même problème, cela fonctionne pour moi.
Il y a une faute de frappe dans la dernière ligne de votre .vimrc
.
Ce devrait être colorscheme solarized
Pas sûr que ça aide :)
Pour ceux qui consomment du temps sur les couleurs, et si vim solarisé ne fonctionne pas sur tmux, ou fatigué de trouver des couleurs de vim, cela devrait fonctionner en une minute, c’est également indiqué dans le référentiel officiel.
yum vim-jellybeans
ou
mkdir -p ~/.vim/colors
cd ~/.vim/colors
curl -O https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim
touch ~/.vimrc
sed -i '/colorscheme/d' ~/.vimrc
echo colorscheme jellybeans >> ~/.vimrc
cela résoudra le problème avec le magnifique jeu de couleurs et les motifs sont si concentrés et utiles, si vous essayez également de définir ces mots-clés en surbrillance, de recherche, cest tout. tout est déjà prêt à être utilisé. Vous pouvez même changer les couleurs dans le fichier de configuration.
Si vous ne souhaitez installer rien d'autre qu'une solution simple et rapide, ignorez ce qui précède et essayez ceci dans vim
:colo ron
vous pouvez également remplacer 'ron' par les ensembles suivants et même restaurer à solo default
blue
darkblue
default
delek
desert
elflord
evening
koehler
morning.vim
murphy
pablo
peachpuff
ron
shine
slate
torte
zellner
et sauvegarder dans .vimrc
colo ron
syntax on
Vous pouvez avoir le même problème documenté dans this answer.
Fondamentalement, le paramètre .tmux.conf fonctionne et TERM
est défini sur screen-256color
, mais tmux ouvre bash et appelle votre .bashrc, ce qui définit TERM
comme autre chose (peut-être xterm-256color
).
La solution consiste à définir TERM
dans les paramètres de votre terminal plutôt que dans .bashrc. Si ce n'est pas une option, vous pouvez vérifier TERM
inside .bashrc et ne pas le changer s'il s'agit déjà de screen-256color
.
Dans le shell qui démarre tmux, vérifiez que $TERM
est soit xterm-256color
, soit screen-256color
. Voir comment changer $ TERM :
~/.Xresources
est la meilleure solution (si pris en charge)Comme alternative, comme Sacré Maquerea , vous pouvez forcer tmux à 256color via:
$ tmux -2
[Solucion] [1] qui peut gêner votre vision et rendre Vim désagréable, à utiliser pendant une période prolongée.
Vous pouvez résoudre ce problème en exécutant: set term = screen-256color dans Vim ou en relançant Vim dans l'environnement TERM = screen-256color, comme le recommandent certains experts: http://sunaku.github.io/vim-256color -bce.html
Dans votre .bashrc ou .zshrc, ajoutez simplement
if [[ $TERM == xterm ]]; then
TERM=xterm-256color
fi
et commencez également par tmux -2