Como carregar um esquema de cores diferente ao fazê-lo vimdiff
.
Eu quero isso porque o meu esquema de cores atual não mostra algumas diferenças adequadamente em vimdiff
, para. por exemplo, algumas diferenças são mostradas com a mesma cor fg / bg. Isso torna muito difícil entender o diff. Então, toda vez que faço um, vimdiff
tenho que fazer:colorscheme some_other_scheme
Isso pode ser feito em .vimrc
arquivo?
;
scripts de shell, para que você possa adicionar novas 'linhas':if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
procurará nos seus caminhos de tempo de execuçãocolor/some_other_scheme.vim
. Você pode ver seus caminhos de execução:set runtimepath?
no vim.Não sei por que o vim usa tantas cores para destacar, isso realmente não ajuda a descobrir o que está acontecendo.
Modifiquei meu esquema de cores para usar apenas uma cor para realçar (com outra para mostrar onde há uma diferença dentro de uma linha) e isso fez toda a diferença.
Antes
Depois de
Fiz isso adicionando o seguinte ao final do meu arquivo colorscheme (
~/.vim/colors/mycolorscheme.vim
).cterm
- define o estiloctermfg
- define a cor do textoctermbg
- defina o realceDiffAdd
- linha foi adicionadaDiffDelete
- a linha foi removidaDiffChange
- parte da linha foi alterada (destaca toda a linha)DiffText
- a parte exata da linha que mudoueu usei esse link como referência para os números de cores.
Nota: Eu não defini as opções da GUI porque uso um esquema de cores diferente para o macvim / gvim
fonte
Para responder minha própria pergunta:
fonte
Eu achei a maneira mais fácil de colar esse one-liner no meu arquivo ~ / .vimrc:
fonte
Todo
vez deMatchParen
porque se destaca mais.Se você estiver encontrando esquemas de cores ilegíveis (não apenas feios, mas ilegíveis como texto branco em fundo rosa), uma solução fácil pode ser usar 16 cores em vez de 256 cores. Então você não precisa mexer com os esquemas de cores.
O motivo é que o esquema de cores vimdiff padrão atribui
DiffChange bg
como "LightMagenta", que é mapeado para um rosa muito claro em 256 cores. Isso é ilegível com texto em branco. Com 16 cores, o "LightMagenta" é mapeado para uma magenta em negrito, na qual o texto em branco aparece muito melhor.Você pode fazer um teste rápido fazendo algo assim:
Captura de tela em 256 cores
Captura de tela de 16 cores
Como você pode ver, as 16 cores são muito mais legíveis, sem alterar o esquema de cores.
Para tornar isso permanente, você pode adicionar
set t_Co=16
ao seu.vimrc
fonte
t_Co
foi definido como 8, aumentandoset t_Co=256
tremendamente a legibilidade aprimorada.molokai: github: Os dois temas github e molokai são igualmente bonitos.
Coloque o seguinte código no seu ~ / .vimrc, você pode escolher o github ou o molokai (uma linha que começa com "é um comentário):
fonte
Para pessoas que usam o excelente tema Solarizado, há uma opção que ativa a alta visibilidade no modo diff:
"normal"
"Alto"
"baixo"
fonte
Na verdade, eu descobri que o principal culpado pela mesma cor fg / bg é por causa do conflito entre o destaque da sintaxe do código e o esquema de cores diff. Você pode tentar alterar o esquema de cores do diff, mas pode ser um jogo de "whack-a-mole" quando você abre diferentes tipos de arquivo (com destaque para sintaxe de código diferente).
Uma solução certa é desativar o realce da sintaxe no vimdiff. Você pode digitar:
:syntax off
Ou, se você quiser fazer isso automaticamente sempre, adicione-o ao final do seu
~/.vimrc
:fonte
Outra abordagem é corrigir esse esquema de cores.
Até onde eu sei, geralmente existem quatro grupos de destaque em relação à diferença: DiffAdd, DiffChange, DiffDelete e DiffText. Se você não quiser se incomodar com a sintaxe ou ajustar as cores ao seu gosto, provavelmente poderá copiar seu esquema de cores padrão com outro nome para ~ / .vim / colors (crie o diretório se ele não existir) e Copie e cole os comandos correspondentes: oi do seu esquema de cores alternativo até o final do seu novo esquema de cores personalizado, comentando opcionalmente quaisquer outras declarações relacionadas a ele.
E se o resultado for uma melhoria óbvia, envie um e-mail ao mantenedor do seu esquema de cores com as alterações e peça a ele para analisar o problema. Há uma boa chance de ele agradecer pelo seu interesse e de corrigir o esquema de cores para que outros usuários também se beneficiem.
fonte
/etc/vim/vimrc
ou~/.vimrc
: se estiver usando um fundo escuro dentro da área de edição e realce de sintaxe, ative também esta opçãoset background=dark
fonte
Eu uso o seguinte ao usar o vimdiff no vim:
A declaração part with else é importante porque é assim que você volta à sua configuração anterior depois de concluir a diferença. Então você pode substituir
syntax off
esyntax on
pelos respectivoscolorscheme
comandos. Este autocmd trata de alterar uma configuração e revertê-la ao sair do vimdiff (eu usoGdiff
para ser mais preciso).fonte
Para expandir o @dean e outras respostas aqui, adicione isso ao seu
.vimrc
:fonte