Dalam vim, warna latar belakang berubah saat bergulir

15

Kadang-kadang saya mendapatkan kesalahan aneh dengan warna latar belakang di vim saat menggulung file yang panjang. Latar belakang teks sudah benar, tetapi di mana-mana tidak ada karakter yang dapat dicetak, latar belakang menjadi hitam.

Setelah sedikit berburu dan bereksperimen, saya menemukan bahwa: gambar ulang! memperbaiki masalah, tetapi saya ingin tahu mengapa ini terjadi dan jika ada yang bisa saya lakukan untuk memperbaiki masalah secara permanen.

Meskipun saya mendapatkan kesalahan ini terjadi dengan skema warna lain, untuk apa nilainya saya menggunakan skema warna lucius dengan vim 7.3 mengedit banyak file python.

jlund3
sumber
Saya telah melakukan sedikit lebih banyak bermain, dan itu tampaknya terjadi hanya ketika saya memiliki geometri terminal saya set dengan ketinggian lebih dari 30 atau lebih. Saya harus melakukan lebih banyak pengujian untuk melihat apakah ini berlaku, tapi mungkin informasi itu akan membantu seseorang mencari tahu apa yang salah ...
jlund3
Berikut adalah contoh tangkapan layar dari perilaku ini. Saya menggulir ke atas dan bukannya latar belakang keabu-abuan yang indah, ada beberapa barang hitam jelek. tangkapan layar
jlund3
Sudahkah Anda mencoba beberapa emulator terminal yang berbeda (seperti xterm, gnome-terminal, dll.)?
amcnabb
Saya telah berhasil mereproduksi perilaku di terminal lxterminal dan gnome.
jlund3
Saya memiliki masalah yang sama persis.
Milik

Jawaban:

24

Seperti yang dijelaskan di sini dan di sini , Anda dapat memperbaikinya dengan mematikan Background Color Erase. Ubah di .vimrc:

if &term =~ '256color'
    " Disable Background Color Erase (BCE) so that color schemes
    " work properly when Vim is used inside tmux and GNU screen.
    set t_ut=
endif

Anda juga dapat mengetik Ctrl+ Luntuk mengatur ulang layar.

brice
sumber
0

Ini mungkin terkait plugin atau konfigurasi, mungkin coba

vim -u TIDAK ADA

untuk memuat vim tanpa vimrc dan tanpa plugins dan lihat apakah masalahnya tetap ada.

Sejauh konfigurasi, saya pikir Anda mungkin harus melihat lazyredraw dan ttyfast.

Anda dapat membaca dokumentasi dengan mengetik (: help lazyredraw) dan mencari tahu apakah Anda telah menyetelnya secara tidak sengaja (: atur lazyredraw?) Dan mungkin menghapusnya (: set nolazyredraw).

Dan mungkin membantu jika Anda mengatur ttyfast (: help ttyfast).

carlosdc
sumber
Saya mencoba nolazyredraw dan ttyfast, tetapi perilakunya tetap sama.
jlund3
@ jlund3 Saya sudah sedikit mengedit jawaban saya.
carlosdc
Dengan -u NONE tidak ada warna untuk ini terjadi. Namun, hanya dengan perintah: colorscheme lucius itu masih terjadi ...
jlund3