Как загрузить другую цветовую схему при выполнении vimdiff
.
Я хочу этого, потому что моя текущая цветовая схема не показывает должным образом различия в vimdiff
, For. например, некоторые различия отображаются с тем же цветом fg / bg. Это очень затрудняет понимание различий. Так что каждый раз, когда я делаю, vimdiff
я должен делать:colorscheme some_other_scheme
Это можно сделать в .vimrc
файле?
;
сценариям оболочки, поэтому вы можете просто добавить новые «строки»:if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
будет просматривать ваши пути выполнения для файловcolor/some_other_scheme.vim
. Вы можете увидеть свои пути выполнения:set runtimepath?
из vim.Я не знаю, почему vim использует так много цветов для выделения, это не совсем поможет вам понять, что происходит.
Я изменил свою цветовую схему, чтобы использовать только один цвет для выделения (с другим, чтобы показать, где есть разница в строке), и это имело все значение.
Перед
После
Я сделал это, добавив следующее в конец моего файла цветовой схемы (
~/.vim/colors/mycolorscheme.vim
).cterm
- задает стильctermfg
- установить цвет текстаctermbg
- установить подсветкуDiffAdd
- добавлена линияDiffDelete
- строка удаленаDiffChange
- изменена часть строки (выделяется вся строка)DiffText
- точная часть строки, которая измениласьЯ использовал эту ссылку в качестве справочника для номеров цветов.
Примечание: я не устанавливал параметры графического интерфейса, потому что я использую другую цветовую схему для macvim / gvim
источник
Чтобы ответить на мой собственный вопрос:
источник
Я нашел самый простой способ - вставить этот однострочный файл в мой файл ~ / .vimrc:
источник
Todo
вместо,MatchParen
потому что он больше выделяется.Если вы сталкиваетесь с нечитаемыми цветовыми схемами (не просто уродливыми, но и нечитаемыми, как белый текст на розовом фоне), простым решением может быть использование 16 цветов вместо 256 цветов. Тогда вам не придется возиться с цветовыми схемами.
Причина в том, что цветовая схема vimdiff по умолчанию назначает
DiffChange bg
как «LightMagenta», которая отображается на очень светло-розовый в 256 цветах. Это нечитаемо с белым текстом. При использовании 16 цветов «LightMagenta» отображается на полужирный пурпурный цвет, на котором белый текст отображается намного лучше.Вы можете провести быструю проверку, сделав что-то вроде этого:
256-цветный скриншот
16-цветный скриншот
Как видите, 16 цветов гораздо более читабельны, без изменения цветовой схемы.
Чтобы сделать это постоянным, вы можете добавить
set t_Co=16
в свой.vimrc
источник
t_Co
было установлено значение 8, что значительноset t_Co=256
повысило его удобочитаемость.molokai: github: Две темы github и molokai одинаково красивы.
Поместите следующий код в свой ~ / .vimrc, вы можете выбрать github или molokai (строка, начинающаяся с "," - это комментарий):
источник
Для людей, которые используют отличную тему Solarized, есть опция, которая включает высокую видимость для режима сравнения:
"нормальный"
"высокая"
"низкий"
источник
Фактически, я обнаружил, что главный виновник одного и того же цвета fg / bg - это конфликт между подсветкой синтаксиса кода и схемой цветов diff. Вы можете попробовать изменить цветовую схему различий, но это может быть игрой в "удар крота", когда вы открываете файлы разных типов (с другим выделением синтаксиса кода).
Верное решение - отключить подсветку синтаксиса в vimdiff. Вы можете ввести:
:syntax off
Или, если вы хотите автоматически делать это каждый раз, добавьте это в конец вашего
~/.vimrc
:источник
Другой подход заключается в исправлении этой цветовой схемы.
Насколько мне известно, обычно существует четыре группы подсветки относительно различий: DiffAdd, DiffChange, DiffDelete и DiffText. Если вы не хотите беспокоиться о синтаксисе или настройке цветов по своему вкусу, вы, вероятно, можете скопировать цветовую схему по умолчанию под другим именем в ~ / .vim / colors (создайте каталог, если он не существует) и скопируйте и вставьте соответствующие команды: hi из вашей альтернативной цветовой схемы в конец вашей новой пользовательской цветовой схемы, при необходимости комментируя любые другие операторы, связанные с различиями.
И если результат очевиден, отправьте электронное письмо разработчику вашей цветовой схемы с вашими изменениями и попросите его разобраться в проблеме. Есть хороший шанс, что он поблагодарит вас за проявленный интерес и исправит свою цветовую схему, чтобы другие пользователи тоже получили пользу.
источник
/etc/vim/vimrc
или~/.vimrc
: если вы используете темный фон в области редактирования и подсветку синтаксиса, включите и эту опциюset background=dark
источник
Я использую следующее при использовании vimdiff из vim:
Часть с оператором else важна, потому что именно так вы вернетесь к своей предыдущей конфигурации после того, как закончите различать. Таким образом, вы можете заменить
syntax off
иsyntax on
соответствующимиcolorscheme
командами. Этот autocmd обрабатывает изменение настроек и отменяет их при выходе из vimdiff (я использовал,Gdiff
чтобы быть точным).источник
Чтобы расширить @dean и некоторые другие ответы здесь, добавьте это в свой
.vimrc
:источник