So laden Sie dabei ein anderes Farbschema vimdiff
.
Ich möchte dies, weil das aktuelle Farbschema einige Unterschiede in vimdiff
, z. zB wird ein Diff mit der gleichen fg / bg-Farbe angezeigt. Dies macht es sehr schwer, den Unterschied zu verstehen. Also jedes Mal, wenn ich eine machevimdiff
, etwas tun:colorscheme some_other_scheme
Kann dies in einer .vimrc
Datei erfolgen?
;
in Shell-Skripten. Sie können also einfach neue Zeilen hinzufügen:if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
wird Ihre Laufzeitpfade nach suchencolor/some_other_scheme.vim
. Sie können Ihre Laufzeitpfade:set runtimepath?
in vim anzeigen .Ich weiß nicht, warum vim so viele Farben zum Hervorheben verwendet, es hilft Ihnen nicht wirklich herauszufinden, was los ist.
Ich habe mein Farbschema so geändert, dass nur eine Farbe zum Hervorheben verwendet wird (mit einer anderen, um zu zeigen, wo es einen Unterschied innerhalb einer Linie gibt), und es hat den Unterschied gemacht.
Vor
Nach dem
Dazu habe ich am Ende meiner Farbschemadatei (
~/.vim/colors/mycolorscheme.vim
) Folgendes hinzugefügt .cterm
- legt den Stil festctermfg
- Stellen Sie die Textfarbe einctermbg
- Hervorheben einstellenDiffAdd
- Zeile wurde hinzugefügtDiffDelete
- Linie wurde entferntDiffChange
- Ein Teil der Linie wurde geändert (hebt die gesamte Linie hervor)DiffText
- der genaue Teil der Linie, der sich geändert hatIch habe diesen Link als Referenz für die Farbnummern verwendet.
Hinweis: Ich habe die GUI-Optionen nicht festgelegt, da ich für macvim / gvim ein anderes Farbschema verwende
quelle
Um meine eigene Frage zu beantworten:
quelle
Ich fand den einfachsten Weg, diesen Einzeiler in meine ~ / .vimrc-Datei einzufügen:
quelle
Todo
statt gewählt,MatchParen
weil es mehr auffällt.Wenn Sie auf unlesbare Farbschemata stoßen (nicht nur hässlich, sondern auch unlesbar wie weißer Text auf rosa Hintergrund), können Sie 16 Farben anstelle von 256 Farben verwenden. Dann müssen Sie sich nicht mit den Farbschemata herumschlagen.
Der Grund dafür ist, dass das Standard-Vimdiff-Farbschema zugewiesen wird
DiffChange bg
"LightMagenta" zugewiesen wird, das in 256 Farben einem sehr hellen Rosa zugeordnet wird. Das ist mit weißem Text nicht lesbar. Mit 16 Farben wird die "LightMagenta" einem fetten Magenta zugeordnet, auf dem weißer Text viel besser zur Geltung kommt.Sie können einen kurzen Test machen, indem Sie so etwas tun:
256-Farben-Screenshot
16-farbiger Screenshot
Wie Sie sehen können, sind die 16 Farben viel besser lesbar, ohne das Farbschema zu ändern.
Um dies dauerhaft zu machen, können Sie
set t_Co=16
es Ihrem hinzufügen.vimrc
quelle
t_Co
wurde auf 8 gesetzt, wasset t_Co=256
die Lesbarkeit enorm verbesserte.Molokai: Github: Die beiden Themen Github und Molokai sind gleich schön.
Geben Sie den folgenden Code in Ihr ~ / .vimrc ein. Sie können zwischen Github und Molokai wählen (eine Zeile, die mit einem "beginnt, ist ein Kommentar):
quelle
Für Leute, die das sehr ausgezeichnete Solarized- Thema verwenden, gibt es eine Option, die die hohe Sichtbarkeit für den Diff-Modus aktiviert :
"normal"
"hoch"
"niedrig"
quelle
Tatsächlich habe ich festgestellt, dass der Hauptschuldige für dieselbe fg / bg-Farbe ein Konflikt zwischen der Hervorhebung der Codesyntax und dem Diff-Farbschema ist. Sie können versuchen, das Diff-Farbschema zu ändern, aber es kann ein Schlagabtausch sein, wenn Sie verschiedene Dateitypen öffnen (mit unterschiedlicher Hervorhebung der Codesyntax).
Eine sichere Lösung besteht darin, die Syntaxhervorhebung in vimdiff zu deaktivieren. Sie können entweder Folgendes eingeben:
:syntax off
Oder wenn Sie dies jedes Mal automatisch tun möchten, fügen Sie dies am Ende Ihres
~/.vimrc
:quelle
Ein anderer Ansatz besteht darin, dieses Farbschema zu korrigieren.
Soweit ich weiß, gibt es normalerweise vier Hervorhebungsgruppen in Bezug auf Diff'ing: DiffAdd, DiffChange, DiffDelete und DiffText. Wenn Sie sich nicht um die Syntax kümmern oder die Farben nach Ihren Wünschen anpassen möchten, können Sie Ihr Standardfarbschema wahrscheinlich unter einem anderen Namen nach ~ / .vim / colours kopieren (erstellen Sie das Verzeichnis, falls es nicht vorhanden ist) und Kopieren Fügen Sie die entsprechenden: hi-Befehle aus Ihrem alternativen Farbschema in das Ende Ihres neuen benutzerdefinierten Farbschemas ein und kommentieren Sie optional andere darin enthaltene diff-bezogene Anweisungen aus.
Wenn das Ergebnis eine offensichtliche Verbesserung darstellt, senden Sie eine E-Mail mit Ihren Änderungen an den Betreuer Ihres Farbschemas und bitten Sie ihn, das Problem zu untersuchen. Es besteht eine gute Chance, dass er sich bei Ihnen für Ihr Interesse bedankt und sein Farbschema so korrigiert, dass auch andere Benutzer davon profitieren.
quelle
/etc/vim/vimrc
oder~/.vimrc
: Wenn Sie einen dunklen Hintergrund im Bearbeitungsbereich verwenden und die Syntax hervorheben, aktivieren Sie diese Option ebenfallsset background=dark
quelle
Ich verwende Folgendes, wenn ich vimdiff aus vim heraus verwende:
Der Teil mit der else-Anweisung ist wichtig, da Sie auf diese Weise zu Ihrer vorherigen Konfiguration zurückkehren, nachdem Sie mit dem Diff'ing fertig sind. So können Sie
syntax off
undsyntax on
durch entsprechendecolorscheme
Befehle ersetzen . Dieses Autocmd behandelt das Ändern und Zurücksetzen einer Einstellung beim Beenden von vimdiff (ich verwendeGdiff
, um genau zu sein).quelle
Um @dean und einige andere Antworten hier zu erweitern, fügen Sie dies zu Ihrem hinzu
.vimrc
:quelle