할 때 다른 색 구성표를로드하는 방법 vimdiff
.
내 현재의 색 구성표가에 약간의 차이를 표시하지 않기 때문에 이것을 원합니다 vimdiff
. 예를 들어, 일부 diff는 동일한 fg / bg 색상으로 표시됩니다. 이것은 diff를 이해하기가 매우 어렵습니다. 그래서 내가 할 때마다 vimdiff
해야 할 일:colorscheme some_other_scheme
.vimrc
파일로 할 수 있습니까 ?
답변
vimdiff
명령 줄에서 전화 를 거는 경우 다음을 입력하십시오 .vimrc
.
if &diff
colorscheme some_other_scheme
endif
당신이 정력 내에서 vimdiff를 사용하는 경우, 당신이 중 하나를 시작하는 데 사용하는 명령을 무시해야 할 것 /을 (예 : 중지 diffthis
, diffoff
사용) :cnoreabbr
(A도있다 플러그인 ) 또는 자동 명령을 사용합니다 :
au FilterWritePre * if &diff | colorscheme xyz | endif
외부 프로그램 (diff 유틸리티)을 통해 필터링하기 전에 FilterWritePre가 호출되고 &diff
-옵션은 diff 모드로 들어갈 때 vim에 의해 설정됩니다 (다른 것들 중에서도 참조 :help diff
).
그래도 원래의 색상 구성표로 돌아 가기 위해 어떤 자동 명령을 사용해야하는지 잘 모르겠습니다.
답변
vim이 왜 많은 색상을 사용하여 강조 표시하는지 모르겠지만 실제로 무슨 일이 일어나고 있는지 알아내는 데 도움이되지 않습니다.
한 가지 색만 사용 하여 강조 표시하고 (한 줄에 차이가있는 위치를 표시하기 위해 다른 색을 사용하도록) 색 구성표를 수정 하여 모든 차이를 만들었습니다.
전에
후
내 colorscheme 파일 ( ~/.vim/colors/mycolorscheme.vim
) 끝에 다음을 추가하여이 작업을 수행했습니다 .
highlight DiffAdd cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
highlight DiffDelete cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
highlight DiffChange cterm=bold ctermfg=10 ctermbg=17 gui=none guifg=bg guibg=Red
highlight DiffText cterm=bold ctermfg=10 ctermbg=88 gui=none guifg=bg guibg=Red
cterm
-스타일을 설정ctermfg
-텍스트 색상을 설정ctermbg
-하이라이트 설정DiffAdd
-라인이 추가되었습니다DiffDelete
-라인이 제거되었습니다DiffChange
-라인의 일부가 변경되었습니다 (전체 라인을 강조 표시합니다)DiffText
-변경된 줄의 정확한 부분
이 링크 를 색상 번호에 대한 참조로 사용 했습니다 .
참고 : macvim / gvim에 다른 색상 구성표를 사용하기 때문에 GUI 옵션을 설정하지 않았습니다
답변
내 질문에 대답하려면 :
if &diff
colorscheme evening
endif
답변
가장 쉬운 방법은이 한 줄짜리를 ~ / .vimrc 파일에 붙여 넣는 것입니다.
" Fix the difficult-to-read default setting for diff text highlighting. The
" bang (!) is required since we are overwriting the DiffText setting. The highlighting
" for "Todo" also looks nice (yellow) if you don't like the "MatchParen" colors.
highlight! link DiffText MatchParen
답변
읽을 수없는 색 구성표 (미운뿐만 아니라 분홍색 배경의 흰색 텍스트처럼 읽을 수 없음)가 발생하는 경우 256 색 대신 16 색을 사용하면 쉽게 해결할 수 있습니다. 그런 다음 색 구성표를 망칠 필요가 없습니다.
그 이유는 기본 vimdiff 색 구성표 DiffChange bg
가 “LightMagenta”로 할당 되어 256 색으로 매우 연한 분홍색으로 매핑되기 때문입니다. 흰색 텍스트로는 읽을 수 없습니다. 16 가지 색상의 “LightMagenta”는 굵은 자홍색으로 매핑되어 흰색 텍스트가 훨씬 잘 나타납니다.
다음과 같은 방법으로 빠른 테스트를 수행 할 수 있습니다.
vimdiff <file1> <file2>
:set t_Co? " print current setting (256 by default)
:highlight " print highlighting scheme
:set t_Co=16 " set to 16 colors
:highlight " print highlighting scheme
보시다시피 16 가지 색상은 색상 구성표를 변경하지 않고도 훨씬 읽기 쉽습니다.
이 영구적하려면, 당신은 추가 할 수 있습니다 set t_Co=16
에.vimrc
답변
몰로카이 :
github :
github와 molokai의 두 테마는 똑같이 아름답습니다.
curl -fLo ~/.vim/colors/molokai.vim --create-dirs https://raw.githubusercontent.com/tomasr/molokai/master/colors/molokai.vim
curl -fLo ~/.vim/colors/github.vim --create-dirs https://raw.githubusercontent.com/endel/vim-github-colorscheme/master/colors/github.vim
~ / .vimrc에 다음 코드를 입력하면 github 또는 molokai를 선택할 수 있습니다 ( “로 시작하는 줄은 주석입니다).
if &diff
" colorscheme github
colorscheme molokai
endif
답변
매우 우수한 Solarized 테마 를 사용하는 사람들을 위해 diff 모드의 가시성을 높이는 옵션이 있습니다.
" ~/vim.rc
" Set high visibility for diff mode
let g:solarized_diffmode="high"