Вступление
Я всегда использовал терминал со светлым фоном и редактор темного фона (vim
). В этом я не готов идти на компромисс. В любом случае, я только что переключился с xterm
на urxvt
($ TERM == rxvt-unicode-256color) в основном из-за неразрешенной ошибки усечения шрифта fontconfig/xft в xterm и способности urxvt правильно переформатировать текст (есть и другие льготы хотя, поэтому, пожалуйста, не предлагайте вслепую переключать терминалы). К сожалению, у меня есть одна проблема с urxvt, которую я не могу решить: цвет курсора в vim невидим. Позвольте мне объяснить поведение каждого терминала по умолчанию:
XTerm:
- Цвет курсора по умолчанию соответствует цвету переднего плана основного текста и поэтому изменяется. Если основного текста нет, по умолчанию используется цвет переднего плана (обычно белый или черный).
- цвет текста под курсором переводится на цвет фона (обычно черный или белый)
- XTerm игнорирует параметр cursorColor «# 000000» и вместо этого использует поведение по умолчанию
Поэтому текст под курсором невидим в XTerm, только когда цвет курсора соответствует (как можно ближе) к цвету фона.
URxvt:
- Цвет курсора по умолчанию черный.
- цвет текста под курсором становится белым.
Поэтому текст под курсором невидим в URxvt, только когда цвет курсора белый
Вернуться к проблеме:
Курсор URxvt невидим в vim, потому что я использую темную цветовую схему (черный курсор на черном фоне). Я не могу изменить курсор на цвет на белый в ~/.Xdefaults
потому что я использую терминал со светлым фоном, это приведет к появлению белого курсора на белом фоне над белым текстом: невидимого курсора и невидимого шрифта. Однако, хотя vim обычно не поддерживает изменение цвета курсора, с небольшим количеством взлома в ~/.vimrc
это становится возможным. К сожалению, белый или светлый курсор приводит либо к невидимому тексту, либо, по крайней мере, к гораздо менее разборчивому тексту.
обзор
Невидимый курсор:
- объяснение: черный курсор на черном фоне.
- Решение: измените цвет курсора на белый (или более светлый цвет)
- проблема: приводит к невидимому тексту (или труднее читать текст)
Невидимый текст:
- объяснение: белый курсор над белым текстом
- решение: ????
Решения
Я надеюсь, что либо URxvt может поддерживать поведение XCerm cursorColor/cursorTextColor, либо, по крайней мере, поддерживать изменение цвета текста под курсором, хотя, конечно, я открыт для других решений.