In einigen Farbschemata ändert die Hervorhebung der aktuellen Linie den Hintergrund, in anderen wie Desert ist die aktuelle Linie unterstrichen.
Ich möchte die aktuelle Linienhervorhebung in Desert ändern, um eine andere Hintergrundfarbe anstelle einer Unterstreichung zu verwenden. Wie kann ich das machen?
Mein .vimrc
:
set cursorline
highlight Cursorline cterm=bold
Update: Damit ist .vimrc
das Problem behoben
colorscheme desert
set cursorline
hi CursorLine term=bold cterm=bold guibg=Grey40
Antworten:
desert
ist dein Farbschema. (sollte zuerst kommen)lege es in dein
~/.vimrc
quelle
color
ist eine Abkürzung voncolorscheme
Das funktioniert bei mir besser (in jedem Terminal).
Es ist die Einstellung der Farbe für das Terminal: Hintergrundfarbe - ctermbg und Textfarbe - ctermfg . Fügen Sie zur Verwendung in einem grafischen Fenster Parameter hinzu
guibg=darkred guifg=white
Sie können die entsprechende Spalte auch mit dem folgenden Befehl markieren:
Es ist nützlich, die Hervorhebung durch Drücken einer Taste im Editor ein- und auszuschalten. Fügen Sie diese Zeile zu Ihrem vimrc hinzu :
Wenn Sie 'H' eingeben , wird die Hervorhebung ein- und ausgeschaltet (wenn Sie möchten, ordnen Sie sie einer anderen Taste zu.)
Weitere Informationen finden Sie im Artikel: http://vim.wikia.com/wiki/Highlight_current_line
quelle
cterm=NONE
ist die Einstellung, die letztendlich die Unterstreichung der Cursorzeile entfernt (in meinem Fall).H
wird standardmäßig verwendet, um an den Anfang des Puffers zu gelangen.für einen ähnlichen Stil wie den, den Sie in gvim im Terminal erhalten, wobei das Syntax-Highlight beibehalten wird:
quelle
export TERM=xterm-256color
dass 256 Farben funktionieren. Die vollständige Farbkarte finden Sie hier: upload.wikimedia.org/wikipedia/de/1/15/Xterm_256color_chart.svgset cursorline
fehlt in Ihrem .vimrc-Auszug. Ich habe 10 MinutenWenn Sie die Unterstreichung aktivieren möchten, verwenden Sie eine der folgenden Optionen:
Verwenden Sie andernfalls eine der folgenden Optionen:
quelle
Ich hatte ein ähnliches Problem beim Festlegen der Cursorzeilen-Hervorhebung, aber mein Problem war auf den Befehl mksession zurückzuführen, mit dem ich die Sitzungsinformationen beim Beenden von vim gespeichert habe. Diese Sitzung wird dann beim Programmstart automatisch wiederhergestellt, wenn sie ohne Dateiargumente ausgeführt wird.
Wenn jemand ein solches .vimrc-Setup hat, können Sie .vimrc Folgendes hinzufügen, um die Hervorhebung der Cursorzeile korrekt festzulegen: -
Eine Erklärung, warum dies funktioniert. Zusammen mit verschiedenen Puffer- und Fensterinformationen speichert mksession den aktuellen Namen des Farbschemas. Dies wird während des Programmstarts durch Sitzungswiederherstellung wiederhergestellt. Da die Sitzungswiederherstellung jedoch normalerweise nach dem Ausführen von .vimrc durchgeführt wird (normalerweise mithilfe einer Funktion, die über 'autocmd VimEnter *' aufgerufen wird), wird die Einstellung für die Hervorhebung der Cursorzeile in .vimrc standardmäßig für das wiederhergestellte Farbschema zurückgesetzt.
Die obige Funktion, die über das Autocmd aufgerufen wird, wird ausgeführt, nachdem die Initialisierung abgeschlossen ist, und setzt daher die Hervorhebung der Cursorzeile erfolgreich.
HTH.
quelle