Comment charger un autre choix de couleurs en le faisant vimdiff
.
Je veux cela parce que mon choix de couleurs actuel n'affiche pas correctement certaines différences dans vimdiff
, Pour. par exemple, certains diff sont affichés avec la même couleur fg / bg. Cela rend très difficile la compréhension du diff. Donc chaque fois que je fais un vimdiff
je dois faire:colorscheme some_other_scheme
Cela peut-il être fait dans un .vimrc
fichier?
;
scripts shell, vous pouvez donc simplement ajouter de nouvelles `` lignes '':if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
recherchera dans vos chemins d’exécutioncolor/some_other_scheme.vim
. Vous pouvez voir vos chemins d'exécution à:set runtimepath?
partir de vim.Je ne sais pas pourquoi vim utilise autant de couleurs pour mettre en évidence, cela ne vous aide pas vraiment à comprendre ce qui se passe.
J'ai modifié mon choix de couleurs pour n'utiliser qu'une seule couleur pour mettre en évidence (avec une autre pour montrer où il y a une différence dans une ligne) et cela a fait toute la différence.
Avant
Après
Je l'ai fait en ajoutant ce qui suit à la fin de mon fichier de couleurs (
~/.vim/colors/mycolorscheme.vim
).cterm
- définit le stylectermfg
- définir la couleur du textectermbg
- définir la mise en évidenceDiffAdd
- la ligne a été ajoutéeDiffDelete
- la ligne a été suppriméeDiffChange
- une partie de la ligne a été modifiée (met en évidence toute la ligne)DiffText
- la partie exacte de la ligne qui a changéJ'ai utilisé ce lien comme référence pour les numéros de couleur.
Remarque: je n'ai pas défini les options de l'interface graphique car j'utilise un autre choix de couleurs pour macvim / gvim
la source
Pour répondre à ma propre question:
la source
J'ai trouvé que le moyen le plus simple était de coller ce one-liner dans mon fichier ~ / .vimrc:
la source
Todo
au lieu deMatchParen
parce qu'il se démarque davantage.Si vous rencontrez des combinaisons de couleurs illisibles (pas seulement laides, mais illisibles comme du texte blanc sur fond rose), une solution facile peut être d'utiliser 16 couleurs au lieu de 256 couleurs. Ensuite, vous n'avez pas à vous soucier des jeux de couleurs.
La raison en est que le jeu de couleurs vimdiff par défaut est attribué
DiffChange bg
à "LightMagenta", qui est mappé à un rose très clair en 256 couleurs. C'est illisible avec du texte blanc. Avec 16 couleurs, le "LightMagenta" est mappé sur un magenta gras, sur lequel le texte blanc apparaît beaucoup mieux.Vous pouvez faire un test rapide en faisant quelque chose comme ceci:
Capture d'écran 256 couleurs
Capture d'écran 16 couleurs
Comme vous pouvez le voir, les 16 couleurs sont beaucoup plus lisibles, sans changer le jeu de couleurs.
Pour rendre cela permanent, vous pouvez ajouter
set t_Co=16
à votre.vimrc
la source
t_Co
a été mis à 8, ce quiset t_Co=256
augmente considérablement la lisibilité.molokai: github: Les deux thèmes github et molokai sont tout aussi beaux.
Mettez le code suivant dans votre ~ / .vimrc, vous pouvez choisir github ou molokai (une ligne commençant par un "est un commentaire):
la source
Pour les personnes qui utilisent le très excellent thème Solarized, il existe une option qui active la haute visibilité pour le mode diff:
"Ordinaire"
"haute"
"faible"
la source
En fait, j'ai trouvé que le principal coupable de la même couleur fg / bg est le conflit entre la coloration syntaxique du code et le schéma de couleurs différent. Vous pouvez essayer de changer le schéma de couleurs diff, mais cela peut être un jeu de whack-a-mole lorsque vous ouvrez différents types de fichiers (avec une coloration syntaxique de code différente).
Une solution sûre consiste à désactiver la coloration syntaxique dans vimdiff. Vous pouvez taper soit:
:syntax off
Ou si vous souhaitez le faire automatiquement à chaque fois, ajoutez-le à la fin de votre
~/.vimrc
:la source
Une autre approche consiste à corriger ce jeu de couleurs.
Autant que je sache, il existe généralement quatre groupes de surbrillance relatifs à la différence: DiffAdd, DiffChange, DiffDelete et DiffText. Si vous ne voulez pas vous soucier de la syntaxe ou peaufiner les couleurs à votre goût, vous pouvez probablement copier votre jeu de couleurs par défaut sous un autre nom dans ~ / .vim / colors (créez le répertoire s'il n'existe pas) et copiez-collez les commandes: hi correspondantes de votre jeu de couleurs alternatif à la fin de votre nouveau jeu de couleurs personnalisé, en commentant facultativement toutes les autres déclarations liées aux différences.
Et si le résultat est une amélioration évidente, envoyez un e-mail au responsable de votre palette de couleurs avec vos modifications et demandez-lui de se pencher sur le problème. Il y a de fortes chances qu'il vous remercie de votre intérêt et qu'il corrige sa palette de couleurs afin que les autres utilisateurs en bénéficient également.
la source
/etc/vim/vimrc
ou~/.vimrc
: Si vous utilisez un arrière-plan sombre dans la zone d'édition et la coloration syntaxique, activez également cette optionset background=dark
la source
J'utilise ce qui suit lorsque j'utilise vimdiff à partir de vim:
La partie avec l'instruction else est importante car c'est ainsi que vous revenez à votre configuration précédente après avoir terminé la modification. Ainsi, vous pouvez remplacer
syntax off
etsyntax on
avec lescolorscheme
commandes respectives . Cet autocmd gère la modification d'un paramètre et son rétablissement lorsque vous quittez vimdiff (j'utiliseGdiff
pour être précis).la source
Pour développer @dean et quelques autres réponses ici, ajoutez ceci à votre
.vimrc
:la source