Solarized kullanarak iTerm2'de vim ile yanlış renkler


84

İTerm2 ile terminal vim'de (non-gui) ve solarize renk şemasında garip bir sorun yaşıyorum. İlk olarak, iTerm2'yi koyu solar renk düzenini kullanacak şekilde ayarladım.

Ayrıca vim için solarize kullanıyorum. .Vimrc dosyamda aşağıdaki satırlar var

set background=dark
colorscheme solarized

Terminalde renk şeması yanlış görünüyor: konsol vim

Başvuru için MacVim (gui vim) altında böyle görünüyor gui vim

Konsol vim'imde renklerin doğru görünmesi için iTerm veya .vimrc dosyamda neyi değiştirmem gerekiyor?

Yanıtlar:


118

Kontrol edilecek birkaç nokta:

  1. İTerm2'de, Tercihler -> Profiller -> Terminal'de, "Terminal Emülasyonu" altında "Rapor Terminal Tipi:" xterm-256color olarak ayarlanmıştır.

  2. .Vimrc dosyanızda, 256 renk kullandığından emin olmak için ayarlayabileceğiniz bazı seçenekler de vardır:

    set background=dark
    " solarized options 
    let g:solarized_visibility = "high"
    let g:solarized_contrast = "high"
    colorscheme solarized
    
    Ve bunlardan biri çalışmalı, ama önce 1 numara.

ANCAK, Snow Leopard üzerine yerleşik varsayılan vim kullanıyorsanız, 256 renk desteği ile oluşturulmadığı için çalışmayacaktır. Lion'daki yerleşik versiyonun yaptığını düşünüyorum.

Düzenleme: Bu cevapla ilgili birkaç yoruma dayanarak, yukarıdaki örnekten let g:solarized_termcolors = 256satırı kaldırdım .vimrc. Görünüşe göre bu bazıları için bir sorun olabilir. Bir diğeri, çizgi eklemenin let g:solarized_termcolors = 16renkli bir görüntü sorununu çözdüğünü söylüyor . Kendi kilometreniz değişebilir.

İkinci Düzenleme: Solarize renk paletini iTerm2'ye yüklediyseniz, yapmanız gerekir let g:solarized_termcolors=16. Sadece let g:solarized_termcolors=256sen eğer değil sizin iTerm2 renk ayar olarak solarized paletini kullanarak.


13
Aslında, "let g: solarized_termcolors = 256" benim için hatalı gösterimin solarize edilmesinin sebebiydi . Git repo ( github.com/vim-scripts/Solarized ) başına, "TERMİNAL KULLANICILARI İÇİN ÖNEMLİ NOT:", "g: solarized_termcolors = 16" yapmalısınız.
Sai Perchard

3
Terminalinizle solarize renk şemasını kullanıyorsanız, 16 ANSI rengi solarize renklere ayarlanacaktır, bu durumda ayarlamak isteyeceksiniz let g:solarized_termcolors=16. 256 kullanırsanız yakın olur, ancak arka plan derin deniz mavisi yerine gri olur.
Parker Selbert

2
256Bana Lion'da koyu mavi yerine gri arka plan veriyor gibi görünüyor , ancak 16bu değişkeni vimrc'imden çıkarmakla tamamen aynı görünüyor. Koyu gri, daha önce aldığım gerçekten açık griden daha iyidir.
styfle

1
@SaiPerchard yorumu cevaba eklenmelidir. Benim için yanlış arka plan rengini düzelten şey buydu.
Marten Sytema

1
Benim için işe yaramadı: stackoverflow.com/a/12969298/1945990 yine de yaptı. ITerm, solarize tema artı vim solarize tema.
Mike W

91

Yukarıdaki cevaplar benim için işe yaramadı.

İTerm2'yi OS X 10.7.4'te vim 7.3 ile kullanıyorum.

Yukarıdaki çözümler sizin için de işe yaramadıysa, şunu deneyin

syntax on
set background=dark
let g:solarized_termtrans = 1
colorscheme solarized

Güncelleme: Jim Stewart'a göre, bu Kitty'de de çalışıyor .


Benim için de aynısı ... Bu çözüm için teşekkürler!
05'te freitass

2
Windows 7'de KiTTY (PuTTY türevi) kullanıyorum ve let g:solarized_termtrans = 1boş satırlardaki arka plan renginin gri olduğu, ancak metin içeren satırlarda içerikten sonra arka plan renginin siyah olduğu bir sorunu çözdüm .
Jim Stewart

onlar siyah
thuogh değiller

Başka bir renk şeması kullanıyorsanız, bunu yapabilirsiniz hi Normal ctermbg=NONE, çünkü termtranssolarize edilmiş durumda esasen budur (kaynaklarından anlayabildiğim kadarıyla)
Achal Dave

1
Bu, çalışmaya en yakın olanıdır, arka plan rengini doğru bir şekilde ayarlar, ancak imleç çizgim, renk sütunu ve satır numarası sütunumun tümü siyah arka plana sahiptir. Neden hiçbir şey hiç kolay değil!
Ian Vaughan

13

https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

Solarized paketini indirin ( https://github.com/altercation/solarized ) ve talimatları izleyin:

İTerm 2'yi açın, Tercihler'i açın, tercihler araç çubuğundaki "Profiller" (eski adıyla Adresler, daha önce Yer İşaretleri) simgesine tıklayın, ardından "renkler" sekmesini seçin. "Ön ayarları yükle" seçeneğine tıklayın ve "içe aktar ..." seçeneğini seçin. Solarize Açık veya Koyu tema dosyasını seçin.

Solarized renk ön ayarlarını iTerm 2'ye yüklediniz, ancak henüz uygulamadınız. Bunları uygulamak için soldaki profil listesi penceresinden mevcut bir profili seçin veya yeni bir profil oluşturun. Ardından "Load Presets" açılır menüsünden Solarized Dark veya Solarized Light ön ayarını seçin.

==================================

Veya:

cd ~/.vim/bundle
git clone git://github.com/altercation/vim-colors-solarized.git

.Vimrc'yi değiştirin

Koyu Tema:

syntax enable
set background=dark
colorscheme solarized

Işık

syntax enable
set background=light
colorscheme solarized

2
Önceki cevapların hiçbiri sorunumu çözmüyor ama bu çözüyor. Benim için eksik olanın renk ön ayarları olduğu ortaya çıktı.
Sophia Feng

10

Bu benim için iTerm 2'deki OS X 10.9.1'de ve Terminal'de çalıştı. Yaptığım bir hata, renk şeması beyanını termtrans ve termcolors ayarlarından önce koymaktı (ve çalışmasını sağlamak için ikisine de ihtiyacım vardı). Başkalarının dediği gibi, terminal tipimi xterm-256color olarak ayarladım

if !has("gui_running")
    let g:solarized_termtrans=1
    let g:solarized_termcolors=256
endif

colorscheme solarized
set background=dark

7

OSX 10.11.6, iTerm2 Build 3.0.12'de aynı sorunla uğraştım.

İşte bunun için düzeltmem.

  1. .vimrc

    sözdizimi ayarlamayı etkinleştir = koyu renkler şeması solarize

  2. Rapor Terminal Türünü olarak ayarlayın xterm-256color.

görüntü açıklamasını buraya girin

  1. Profildeki renk ön ayarını Solarized Dark olarak ayarla

görüntü açıklamasını buraya girin


Destek oyu, çünkü bu, beni 256'dan sonraki renk kaçış kodlarının mac ve linux'ta farklı şekilde ele alındığını keşfetmeye götüren farklı renk ön ayarlarını denemek için ihtiyacım olan ipucuydu. Mac'te, 256'yı geçen renkler, seçilen 8 ANSI renginden birine düzleştirilmek yerine modifiye edilmiş gibi görünüyordu, linux'taki wheras, etrafını saran ve bir renk seçen bir modül yapıyor gibi görünüyor.
Eric Leschinski

6

Yaratıcıdan: http://ethanschoonover.com/solarized/vim-colors-solarized

TERMİNAL KULLANICILARI İÇİN ÖNEMLİ NOT:

Solarized'i Terminal modunda kullanacaksanız (yani gvim veya macvim gibi bir GUI sürümünde kullanmayacaksanız), lütfen Solarized paleti kullanmak için terminal öykünücünüzün renk şemasını ayarlamayı düşünün. Solarized ana sayfasından indirilebilen resmi Solarized indirmeye Xdefault'ların yanı sıra bazı popüler terminal öykünücüsü için paletler ekledim. Solarized'i bu renkler olmadan kullanırsanız, Solarized'e renk şemasını sınırlı 256 terminal paleti ile uyumlu bir kümeye indirgemesi istenecektir (oysa terminalin 16 ansi renk değerini kullanarak Solarized için doğru, spesifik değerleri ayarlayabilirsiniz. palet).

Özel terminal renklerini kullanırsanız, solarized.vim sizin için kutudan çıkmalıdır. 256 rengi destekleyen bir terminal emülatörü kullanıyorsanız ve özel Solarized terminal renklerini kullanmak istemiyorsanız, indirgenmiş 256 renk şemasını kullanmanız gerekecektir. Bunu yapmak için, aşağıdaki satırı colorchem solarized çizgisinin önüne eklemeniz yeterlidir:

let g:solarized_termcolors=256

Yine, terminal renklerinizi manuel olarak veya içe aktarılabilen birçok terminal şemasından biri aracılığıyla Solarize değerlerine değiştirmenizi öneririm.


Bu, iTerm2'nin solarize renkleri GUI olmayan MacVim'de kullanabilmesinin tek yoluydu.
Aaron Tribou

4

Bill Turner'ın cevabı işe yarıyor, ancak renkleri MacVim'e tam olarak uydurmanın bir yolu var. Solarized, diğer terminal emülatörlerinin yanı sıra özellikle iTerm2'yi destekliyor.

  1. Git iterm2-renkleri-solarized github sayfasından
  2. "Kurulum" altındaki talimatları izleyin
  3. .Vimrc dosyanızın satıra sahip olduğundan emin olun colorscheme solarized

Bu, iTerm2'deki vim renklerini tam olarak gui editörlerinde olduğu gibi ayarlamalıdır.


Cevabın da önerdiği gibi, Bill Turner'ın cevabı da doğrudur, ancak BU, solarizedtemayı belirlemenin resmi (dolayısıyla doğru) yoludur .
Can

1

Bu sorunu çözmenin basit bir yolu şudur:

Renklerde dir on vim-color-solarized 'solarozed.vim' adlı bir arşiv vardır.

Bu dosyayı açın ve şunu arayın:
exe "let s: bg_back = '" .s: vmode. "Bg =". S: geri. "'"

yerine:
exe "let s: bg_back = '" .s: vmode. "bg =". s: yok. "'"


1

Hala benim gibi sorunları olan herhangi biri için, iterm2 solarize renk profilini kurdum . Yükleme vim-renk solarized talimatları takip ederek vim demetleri ve gereksiz olduğunu ve uyumsuz oldu. Yukarıdaki ekran görüntüsündeki gibi komik vurgulama sorunları vardı.

Alınan ders: ikisini birden yapmayın.


0

Önceki tüm önerileri denedim. set t_Co=256.Vimrc dosyasına yeni ekledim ve düzeltildi. Bir tmuxtakma ad oluşturmam veya yapılandırma dosyamı değiştirmem gerekmedi .


0

Önceki cevapların hiçbiri benim için işe yaramadı. Görünüşe göre kayıptım:

set termguicolors
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.