Couleurs incorrectes avec vim dans iTerm2 en utilisant Solarized
J'ai un problème étrange avec iTerm2, dans terminal vim (non-gui) et le schéma de couleurs solarized. Tout d'abord, j'ai configuré iTerm2 pour utiliser le schéma de couleurs solarisées sombres.
J'utilise également solarized pour vim. J'ai les lignes suivantes dans mon .vimrc
set background=dark
colorscheme solarized
Dans le terminal, le schéma de couleurs semble incorrect:
Pour référence, voici à quoi il ressemble sous MacVim (gui vim)
Que dois-je changer dans iTerm ou mon .vimrc pour obtenir les couleurs à la recherche correctement dans ma console vim?
10 réponses
Quelques choses à vérifier:
Dans iTerm2, dans Preferences - > Profiles - > Terminal, sous "Terminal Emulation" vous avez "Report Terminal Type:" défini sur xterm-256color.
Dans votre .vimrc, il y a quelques options que vous pouvez également définir pour vous assurer qu'il utilise 256 couleurs:
{[0]}
Et l'un d'entre eux devrait fonctionner, mais #1 d'abord.
Mais, si vous utilisez la valeur par défaut, construite dans vim sur Snow Leopard, cela ne fonctionnera pas, car il n'est pas construit avec le support de 256 couleur. Je crois que la version intégrée dans Lion le fait.
Edit: sur la base de plusieurs commentaires sur cette réponse, j'ai supprimé la ligne let g:solarized_termcolors = 256
de l'exemple .vimrc
ci-dessus. Il semble que cela pourrait être un problème pour certains. Un autre dit que l'ajout de la ligne let g:solarized_termcolors = 16
a corrigé un problème d'affichage Couleur. Votre propre kilométrage peut varier.
Deuxième édition: Si vous avez chargé la palette de couleurs solarisées dans iTerm2, alors vous devez let g:solarized_termcolors=16
. Seulement let g:solarized_termcolors=256
Si vous êtes pas en utilisant le solarized palette comme votre préréglage de couleur iTerm2.
Les réponses ci-dessus n'ont pas fonctionné pour moi.
J'utilise iTerm2 avec vim 7.3 sur OS X 10.7.4.
Si les solutions ci-dessus n'ont pas fonctionné pour vous aussi, essayez ceci
syntax on
set background=dark
let g:solarized_termtrans = 1
colorscheme solarized
Mise à jour: selon Jim Stewart, cela fonctionne aussi sur Kitty.
Https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized
Télécharger le paquet Solarized ( https://github.com/altercation/solarized ) et suivez les instructions:
Ouvrez iTerm 2, Ouvrez Préférences, cliquez sur L'icône" profils "(anciennement adresses, anciennement signets) dans la barre d'Outils Préférences, puis sélectionnez l'onglet" Couleurs". Cliquez sur "Charger les préréglages" et sélectionnez " Importer...". Sélectionnez le fichier de thème Solarized Light ou Dark.
Vous avez maintenant chargé les préréglages de couleurs Solarisées dans iTerm 2, mais n'avez pas encore appliquées. Pour les appliquer, il suffit de sélectionner un profil à partir de la fenêtre Liste des profils à gauche, ou créez un nouveau profil profil. Sélectionnez ensuite le préréglage Solarized Dark ou Solarized Light de le menu déroulant "charger les préréglages".
====================================
Ou:
cd ~/.vim/bundle
git clone git://github.com/altercation/vim-colors-solarized.git
Modifier .vimrc
Thème Sombre:
syntax enable
set background=dark
colorscheme solarized
Lumière
syntax enable
set background=light
colorscheme solarized
Cela a fonctionné pour moi dans OS X 10.9.1 dans iTerm 2 ainsi que Terminal. Une erreur que je faisais était de mettre la déclaration colorscheme avant les paramètres termtrans et termcolors (et j'avais besoin des deux pour le faire fonctionner). Comme d'autres l'ont dit, j'ai défini mon type de terminal sur xterm-256color
if !has("gui_running")
let g:solarized_termtrans=1
let g:solarized_termcolors=256
endif
colorscheme solarized
set background=dark
Du créateur: http://ethanschoonover.com/solarized/vim-colors-solarized
NOTE IMPORTANTE POUR LES UTILISATEURS DU TERMINAL:
Si vous allez utiliser Solarized en mode Terminal (c'est-à-dire pas dans une version GUI comme gvim ou macvim), veuillez envisager de définir le colorscheme de votre émulateur de terminal pour utiliser la palette Solarized. J'ai inclus des palettes pour certains émulateur de terminal populaire ainsi que Xdefaults dans le téléchargement officiel Solarized disponible à partir de Solarisés page d'accueil. Si vous utilisez Solarized sans ces couleurs, Solarized devra être dit de dégrader son colorscheme à un ensemble compatible avec la palette limitée de 256 terminaux (alors qu'en utilisant les 16 valeurs de couleur ansi du terminal, vous pouvez définir les valeurs spécifiques correctes pour la palette Solarized).
Si vous utilisez les couleurs de terminal personnalisées, solarized.vim devrait travailler hors de la boîte pour vous. Si vous utilisez un émulateur de terminal qui prend en charge 256 couleurs et que vous ne souhaitez pas personnalisé Solarized terminal couleurs, vous aurez besoin d'utiliser le dégradé 256 colorscheme. Pour ce faire, ajoutez simplement la ligne suivante avant la ligne solarisée colorschem:
let g:solarized_termcolors=256
Encore une fois, je recommande simplement de changer les couleurs de vos terminaux en valeurs Solarisées manuellement ou via l'un des nombreux schémas de terminaux disponibles pour l'importation.
J'ai eu du mal avec le même problème sur OSX 10.11.6, Iterm2 Build 3.0.12.
Voici ma solution pour cela.
-
.vimrc
Syntaxe activer ensemble d'arrière-plan=dark colorscheme solarisés
Définissez le type de Terminal De Rapport sur
xterm-256color
.
- Définir la couleur prédéfinie dans le profil de Solarisés Sombre
La réponse de Bill Turner fonctionne, mais il existe un moyen d'obtenir les couleurs pour correspondre exactement à MacVim. Solarized a un support spécifique pour iTerm2, entre autres émulateurs de terminaux.
- Allez à la page GitHub iterm2-colors-solarized
- Suivez les instructions sous "Installation"
- assurez-vous que votre .vimrc a la ligne
colorscheme solarized
Cela devrait définir les couleurs vim dans iTerm2 exactement comme elles sont dans les éditeurs gui.
Un moyen simple de résoudre ce problème est:
Dans les couleurs dir sur vim-color-solarized existe un arquive nommé ' solarozed.vim "
Ouvrez ce fichier et recherchez:
exe " let s: bg_back = '".s: vmode."bg=".s:de retour ."'"
Remplacer par:
exe " let s: bg_back = '".s: vmode."bg=".s:aucun ."'"
J'ai essayé toutes les suggestions précédentes. Je viens d'Ajouter set t_Co=256
à .vimrc et il a été corrigé. Je n'avais pas besoin de créer un alias tmux
ou de changer mon fichier de configuration.
Pour tous les problèmes que j'avais encore, j'avais installé iterm2 Solarized color profile . L'installation devim-color-solarized dans les bundles vim et le suivi des instructions étaient inutiles et incompatibles. Il y avait des problèmes de mise en évidence drôles comme dans la capture d'écran ci-dessus.
Leçon apprise: ne faites pas les deux.