Làm cách nào để chỉ đặt màu nền cho cửa sổ đang hoạt động của Vim?


16

Một tính năng nhỏ nhưng dễ nhìn và thêm một chút khả năng sử dụng, tôi muốn Vim sử dụng màu nền khác nhau cho cửa sổ đang hoạt động.

Đây là bản phác thảo những gì tôi đang theo dõi:

nhập mô tả hình ảnh ở đây

Thông thường vim đó sẽ có tất cả nền màu đen, nhưng nếu chỉ có cửa sổ hoạt động có màu riêng để làm nổi bật sự chú ý của người dùng. Chỉ làm nổi bật thanh trạng thái là không đủ!

Câu trả lời:


8

Heptite, cảm ơn bạn cho ý tưởng.

Tôi chỉ cần thay thế Autocmd của Win Entry và WinLeave để thêm / xóa số dòng trước mỗi dòng:

augroup BgHighlight
    autocmd!
    autocmd WinEnter * set number
    autocmd WinLeave * set nonumber
augroup END

Bây giờ là phong cách hơn để theo dõi cửa sổ nào đang hoạt động.


Điều này thật tuyệt Quá tệ Tôi không thích số dòng nhiều vì vậy nó quá thiếu thẩm mỹ.
unperson325680

3

Các nhóm tô sáng kiểm soát màu nền mặc định là " Normal" và " NonText". Thật không may, đây là những điểm nổi bật "toàn cầu" và không thể được "bản địa hóa" trên cơ sở mỗi cửa sổ.

Tuy nhiên, đây là một ví dụ thực sự xấu xí:

tập đoàn tự động BgHighlight
    !
    làm nổi bật ActiveWindow guibg = lightblue
    autocmd Win Entry * gọi matchadd ('ActiveWindow', '. *', 10, 1682)
    autocmd WinLeave * gọi matchdelete (1682)
augroup END

doautocmd BgHighlight Win

Vì đây chỉ là một ví dụ, bạn sẽ phải sửa đổi điều này cho phù hợp với nhu cầu cá nhân của mình, chẳng hạn như thêm một điểm nổi bật ctermbg = ... cùng với guibg = ...

Hạn chế là điều này sẽ chỉ làm nổi bật nền của văn bản hiện có trong các tệp chứ không phải toàn bộ dòng / cửa sổ. (Như tôi đã nói, xấu xí và lầy lội.)


Suy nghĩ tốt, nhưng mẫu .*chỉ phù hợp với văn bản của một tập tin; không có gì từ phần còn lại của nền. Ngoài ra, tôi chỉ có nó làm việc trong thiết bị đầu cuối với ctermbgtài sản. Thật kỳ lạ ...
unperson325680

Xin lỗi, tôi nên nói rõ hơn trong câu trả lời của mình. Tôi đã chỉnh sửa nó.
Heptite
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.