Saya mengimpor colorcheme dan palet yang solarized. Terminal saya memiliki warna dan latar belakang yang benar, gvim memiliki warna dan latar belakang yang benar, tetapi vim memiliki latar belakang warna yang salah. Teks semuanya benar, tetapi latar belakangnya tampak hitam pekat.
Inilah .vimrc saya:
syntax enable
if has('gui_running')
set background=dark
else
set background=dark
endif
:set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized
Jika ada yang punya saran tentang apa yang menyebabkan ini, saya akan sangat berterima kasih. Saya menjalankan xubuntu dengan terminal default.
Saya juga harus menyebutkan bahwa opsi lampu menghasilkan latar belakang yang sangat kuning untuk Vim.
vimrc
terminal
colorscheme
x11
Oberdiear
sumber
sumber
g:solarized_termcolors=256
opsi. Jika Anda senang menggunakan warna soliter di terminal Anda, metode ini bekerja jauh lebih baik. Teks pertanyaan Anda menyiratkan bahwa Anda telah mengatur terminal Anda untuk menggunakan warna-warna yang dilarutkan (walaupun tangkapan layar yang Anda tampilkan tidak seperti saya), jadi dalam hal ini, mengapa Anda menggunakang:solarized_termcolors=256
pengaturan?gnome-terminal
.Jawaban:
Ada dua alasan mengapa saya pikir ini mungkin terjadi:
Skema warna yang Anda gunakan tidak menyatakan
ctermfg
danctermbg
untuk fitur apa pun yang ingin Anda sorot. Cobalah skema warna ini , pada dasarnya harus terlihat sama di dalam terminal dan gvim Anda, jika ini masalahnya maka Anda mungkin perlu melihat menggunakan skema warna yang menyatakanctermfg
danctermbg
.Anda mungkin perlu memastikan emulator terminal Anda mendukung warna yang Anda coba tampilkan:
ncurses-term
paket file (yang menyediakan file/usr/share/terminfo/x/xterm+256color
) diinstal.Tetapkan nilai
TERM
variabel lingkungan Anda dengan menjalankandi shell.
vim
shell itu.Perhatikan bahwa kedua hal ini dapat terjadi pada saat yang bersamaan, tetapi sulit untuk mendiagnosisnya tanpa informasi lebih lanjut tentang sistem Anda.
sumber
TERM
variabelnya tidak benar, tetapi saya tidak tahu bagaimana mengubahnya.export TERM=xterm+256color
, BUKAN "warna s " (jamak). Juga, saya percaya itu harusxterm-256color
, BUKAN "** + ** 256color; tapi saya mungkin salah khususnya tentang menggunakannya dengan solarized. Menurut jawaban ini ,# Entries with embedded plus signs are designed to be included through use/tc capabilities, not used as standalone entries.
export TERM=xterm+256color
di OSX saya dapatkanzle-line-finish:echoti:1: no such terminfo capability: rmkx
export TERM=xterm+256colors
membantu vim untuk mendeteksi dan menggunakan warna latar belakang yang tepat seperti yang dimiliki terminal saya.Berita bagus, semuanya. @ Tom dan @ Rich mengatur saya di jalan yang benar. Saya menemukan solusi yang disediakan di sini . Saya mengatur .vimrc saya ke yang sederhana
Ini sepertinya memperbaiki semuanya. Warna-warnanya nampaknya tidak secerah dalam contoh font , tapi itu bisa saja saya. Bagi siapa saja yang ingin menggunakan colorcheme Solarized dan menggunakan xfce4-terminal, hanya mengubah terminalrc dan .vimrc sepertinya bisa menyelesaikan masalah utama saya. Terimakasih untuk semua orang atas bantuannya!
sumber
set t_Co
baris di vimrc Anda: Vim dapat membaca nilai ini dari terminal (Pengaturan't_Co'
tampaknya sedikit kultus kargo Vim: banyak orang online merekomendasikan melakukannya tanpa benar-benar memahami masalah yang mereka coba selesaikan .)$TERM=screen
dan settingt_Co=16
memang memperbaiki masalah visual untuk saya, tapi saya ingin tahu apa hubungannya, pada awalnya.Saya kira ini masalah kompatibilitas
colorscheme
dengan terminal ini. Plugincsaprox
secara ajaib memecahkan banyak masalah ini.Ringkasan:
Tautan ke plugin:
sumber
Terminal-Vim colorscheme yang solarized dapat bekerja dalam satu dari dua cara berbeda.
Mode 16-warna: Solarized hanya mengandung 16 warna, jadi dalam mode ini Anda mengatur terminal Anda untuk menggunakan warna-warna yang dilarutkan sebagai 16 warna, dan skema warna Vim hanya menggunakan ini. Jadi misalnya, skema warna Vim akan meminta warna terminal "1", dan terminal menampilkan ini sebagai warna hex # dc322f.
Mode 256-warna, di mana ia memilih yang paling cocok untuk 16 warna dari palet 256-warna.
Metode sebelumnya sangat direkomendasikan oleh penulis (dan oleh saya), dan sepertinya Anda senang menggunakan metode ini karena Anda menyatakan bahwa "terminal Anda memiliki warna dan latar belakang yang benar".
Namun, tampak dari tangkapan layar Anda bahwa terminal Anda tidak memiliki warna yang benar. (Putih bukan warna pada set yang solarized, dan meskipun saya belum membuat eyedroppered, warna teks lain di screenshot tidak terlihat seperti Solarized "Violet" (# 6c71c4), juga.)
Jika Anda menghapus pengaturan garis
t_Co
dang:solarized_termcolors
dari vimrc * Anda, dan mengonfigurasi warna terminal Anda dengan benar, maka Anda harus menemukan bahwa skema warna 16-warna terlarut akan mulai bekerja.* Garis-garis ini beralih untuk menggunakan mode 256-warna (kurang setia). Ini juga harus bekerja, (saya menduga bahwa @Jubal benar dalam menyarankan bahwa BCE adalah masalah di sini ), tetapi mode 16-warna lebih disukai kecuali jika Anda secara eksplisit tidak ingin menggunakan solarized di terminal Anda.
sumber
Sepertinya Anda menemukan jawaban Anda. Saya memiliki masalah yang sama dan tidak ada yang berhasil. Apa yang berhasil bagi saya adalah menggunakan perselisihan
terminalrc
, sebagai lawan dari sgerrand .Yang relevan dengan saya
vimrc
hanyalah:Semoga itu bisa membantu seseorang!
sumber
Jadi inilah yang berfungsi untuk saya (pada semua terminal yang saya gunakan - xterm, konsole, gnome-terminal, iterm2, roxterm - di Linux dan OS X, juga dengan gvim dan macvim):
sumber
Ini menyusahkan untuk bekerja (saya menggunakan terminal Vim di Linux Mint), dan sayangnya saya tidak menuliskan secara spesifik semua yang saya lakukan. Inilah bagian yang relevan dari vimrc saya:
Mungkin juga ada baiknya memeriksa proyek ini di GitHub .
sumber
Apa yang berhasil bagi saya adalah menghapus bagian ini dari pengaturan Anda
Saya menjalankan terminal xfce4
sumber
Saya punya masalah ini juga dengan
xfce-terminal
.Setelah sedikit riset, saya menemukan bug ini : apa pun yang Anda atur
$TERM
di terminal XFCE Anda diabaikan tanpa suara.Saya pikir ini benar-benar bug dari pustaka VTE lama yang mendasari (dan tidak dirawat) yang digunakan terminal XFCE (masih berbasis GTK + 2). Beralih ke terminal GTK + 3, yang secara implisit menggunakan pustaka VTE baru , menyelesaikan masalah.
sumber