Mengatur warna latar belakang Vim

114

Ketika saya mencoba mengubah warna latar belakang .vimrcatau langsung di Vim menggunakan perintah:

set background=dark

... itu tidak mempengaruhi latar belakang saya sama sekali. Begitu pula lightpilihannya. Namun, terlihat oke saat saya menjalankan gvim.

Apakah ada cara untuk mengubah latar belakang di Vim tanpa mengubah pengaturan Konsole saya?

EDIT Oke, ada perbedaan antara guifg / guibg dan ctermfg / ctermbg. Sementara GUI menerima banyak kombinasi warna yang berbeda, cterm hanya mengizinkan beberapa kombinasi warna standar.

Maksim Vi.
sumber
1
Anda bisa mendapatkan terminal untuk menerima banyak warna itu juga. Lihat halaman ini: vim.wikia.com/wiki/256_colors_in_vim
Matius

Jawaban:

137

Seperti bantuan vim sendiri pada set backgroundmengatakan, "Menyetel opsi ini tidak mengubah warna latar belakang, ini memberitahu Vim seperti apa warna latar belakang itu. Untuk mengubah warna latar belakang, lihat |: hi-normal |."

Sebagai contoh

:highlight Normal ctermfg=grey ctermbg=darkblue

akan menulis dengan warna putih di atas biru pada terminal warna Anda.

Alex Martelli
sumber
Terima kasih, ini berhasil. Saya mencoba opsi itu sebelumnya, tetapi tampaknya tidak semua warna berfungsi, misalnya opsi coklat dan kuning sama sekali tidak memengaruhi latar belakang konsol default saya.
Maksim Vi.
1
itu mungkin b / c dari jenis terminal vim yang menurut Anda miliki.
rampion
2
Bagaimana saya bisa menambahkan ini ke vimrc saya?
Marin
4
Lihat juga :help hl-NonTextwarna latar belakang setelah baris terakhir file.
Matius
2
@ Marin: letakkan persis baris dari contoh ke dalam vimrc Anda :highlight Normal ctermfg=grey ctermbg=darkblue. Gunakan warna apa pun yang Anda inginkan.
Matius
24

Di emulator terminal seperti konsole atau gnome-terminal, Anda harus mengatur 256 warna pengaturan untuk vim.

:set  t_Co=256

Setelah itu Anda dapat mengubah latar belakang Anda.

A A.
sumber
Anda mungkin ingin mengatur bahwa dalam Terminal Anda sebagai gantinya: export TERM='xterm-256color'.
Bart Louwers
15

Coba tambahkan

set background=dark

untuk Anda .gvimrcjuga. Ini bekerja dengan baik untuk saya.

Luke
sumber
7

Menggunakan set bg=darkdengan latar belakang putih dapat menghasilkan teks yang hampir tidak terbaca di beberapa skema penyorotan sintaks. Sebagai gantinya, Anda dapat mengubah keseluruhan skema warna menjadi sesuatu yang terlihat bagus di terminal Anda. File skema warna harus menyetel atribut latar belakang untuk Anda dengan tepat. Selain itu, untuk informasi lebih lanjut lihat:

:h color
Michael Kristofik
sumber
6
itulah mengapa saya memposting pertanyaan saya di sini. Bahkan skema warna gelap tidak memengaruhi warna latar default saya.
Maksim Vi.