Bagaimana cara mengatur warna latar belakang untuk jendela aktif Vim saja?


16

Fitur kecil namun menyenangkan secara visual, dan sedikit menambah kegunaan, saya ingin Vim menggunakan warna latar yang berbeda untuk jendela aktif.

Berikut ini sketsa dari apa yang saya kejar:

masukkan deskripsi gambar di sini

Biasanya vim itu akan memiliki semua latar belakang hitam, tetapi jika hanya jendela yang aktif memiliki warna sendiri untuk menyoroti perhatian pengguna. Menyoroti bilah status saja tidak cukup!

Jawaban:


8

Heptite, terima kasih atas idenya.

Saya baru saja mengganti WinEnter dan WinLeave autocmd untuk menambah / menghapus nomor baris di depan setiap baris:

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

Sekarang lebih gaya untuk melacak jendela mana yang aktif.


Ini keren. Sayang sekali saya tidak suka nomor baris sehingga terlalu tidak estetika.
unperson325680

3

Grup sorotan yang mengontrol warna latar belakang default adalah " Normal" dan " NonText". Sayangnya ini adalah sorotan "global" dan tidak dapat "dilokalkan" berdasarkan per-jendela.

Namun, berikut ini adalah contoh kludgy yang benar-benar jelek:

augroup Bg Sorot
    autocmd!
    sorot ActiveWindow guibg = lightblue
    autocmd WinEnter * panggilan matchadd ('ActiveWindow', '. *', 10, 1682)
    autocmd WinLeave * panggil matchdelete (1682)
augroup END

doautocmd BgHighlight WinEnter -

Karena ini hanyalah contoh, Anda harus memodifikasi ini agar sesuai dengan kebutuhan pribadi Anda, seperti menambahkan ctermbg = ... sorot bersama dengan guibg = ...

Kekurangannya adalah ini hanya akan menyoroti latar belakang teks yang ada dalam file, bukan seluruh baris / jendela. (Seperti yang saya katakan, jelek dan kludgy.)


Pemikiran yang bagus, tetapi polanya .*hanya cocok dengan teks file; tidak ada dari sisa latar belakang. Selain itu, saya hanya membuatnya bekerja di terminal dengan ctermbgproperti. Aneh ...
unperson325680

Maaf, jawaban saya seharusnya lebih jelas. Saya sudah mengeditnya.
Heptite
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.