Trong vim, màu nền thay đổi khi cuộn


15

Thỉnh thoảng tôi gặp một lỗi lạ với màu nền trong vim khi cuộn lên trong một tệp dài. Nền trên văn bản là chính xác, nhưng ở mọi nơi không có ký tự có thể in được, nền chuyển sang màu đen.

Sau một chút săn bắn và thử nghiệm, tôi đã thấy rằng: vẽ lại! khắc phục sự cố, nhưng tôi muốn biết lý do tại sao điều này xảy ra và nếu có bất cứ điều gì tôi có thể làm để khắc phục sự cố vĩnh viễn.

Mặc dù tôi đã nhận được lỗi này xảy ra với các bảng màu khác, nhưng với giá trị tôi đang sử dụng bảng màu lucius với vim 7.3 chỉnh sửa một loạt các tệp python.


Tôi đã chơi nhiều hơn một chút và dường như chỉ xảy ra khi tôi có bộ hình học đầu cuối của mình với chiều cao lớn hơn 30 hoặc hơn. Tôi sẽ phải thực hiện thêm thử nghiệm để xem liệu điều này có được giữ hay không, nhưng có lẽ thông tin đó sẽ giúp ai đó tìm ra điều gì sai ...
jlund3

Dưới đây là một ảnh chụp màn hình ví dụ về hành vi này. Tôi cuộn lên và thay vì nền màu xám đáng yêu, có một số thứ màu đen xấu xí. ảnh chụp màn hình
jlund3

Bạn đã thử một số trình giả lập thiết bị đầu cuối khác nhau (như xterm, gnome-terminal, v.v.) chưa?
amcnabb

Tôi đã quản lý để tái tạo hành vi trong cả lxterminal và gnome-terminal.
jlund3

Tôi có chung vấn đề đó. Của tôi bắt đầu xảy ra khi tôi chuyển công cụ sang ftplugin / <filetype> ...
RedX 15/03/13

Câu trả lời:


24

Như đã giải thích ở đâyở đây , bạn có thể khắc phục điều này bằng cách tắt Background Color Erase. Thay đổi trong .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

Bạn cũng có thể gõ Ctrl+ Lđể đặt lại màn hình.


0

Đây có thể là một plugin hoặc cấu hình liên quan, có thể thử

vim -u KHÔNG

để tải vim mà không có vimrc và không có plugin và xem vấn đề còn tồn tại không.

Theo như cấu hình, tôi nghĩ có lẽ bạn nên nhìn vào lazyredraw và ttyfast.

Bạn có thể đọc tài liệu bằng cách gõ (: help lazyredraw) và tìm hiểu xem bạn có vô tình đặt nó không (: set lazyredraw?) Và có thể bỏ đặt nó (: set nolazyredraw).

Và nó có thể hữu ích nếu bạn đặt ttyfast (: help ttyfast).


Tôi đã thử cả nolazyredraw và ttyfast, nhưng hành vi vẫn như cũ.
jlund3

@ jlund3 Tôi đã chỉnh sửa câu trả lời của mình một chút.
carlosdc

Với -u KHÔNG, không có màu sắc cho điều này xảy ra. Tuy nhiên, chỉ với lệnh: colorscheme lucius, nó vẫn xảy ra ...
jlund3
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.