Cara memuat skema warna yang berbeda saat melakukan vimdiff
.
Saya menginginkan ini karena skema warna saya saat ini tidak menunjukkan beberapa perbedaan dengan benar di vimdiff
, For. misal beberapa diff ditunjukkan dengan warna fg / bg yang sama. Ini membuatnya sangat sulit untuk memahami perbedaannya. Jadi setiap kali saya melakukan vimdiff
saya harus melakukannya:colorscheme some_other_scheme
Bisakah ini dilakukan dalam .vimrc
file?
;
skrip shell, jadi Anda bisa menambahkan 'baris' baru:if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
akan mencari jalur runtime Andacolor/some_other_scheme.vim
. Anda dapat melihat runtimepaths Anda:set runtimepath?
dari dalam vim.Saya tidak tahu mengapa vim menggunakan begitu banyak warna untuk disorot, itu tidak benar-benar membantu Anda mengetahui apa yang terjadi.
Saya memodifikasi skema warna saya untuk hanya menggunakan satu warna untuk menyorot (dengan yang lain untuk menunjukkan di mana ada perbedaan dalam satu garis) dan itu membuat semua perbedaan.
Sebelum
Setelah
Saya melakukan ini dengan menambahkan berikut ini di akhir file colorscheme saya (
~/.vim/colors/mycolorscheme.vim
).cterm
- mengatur gayactermfg
- mengatur warna teksctermbg
- atur sorotanDiffAdd
- baris ditambahkanDiffDelete
- garis telah dihapusDiffChange
- bagian dari garis telah diubah (menyoroti seluruh baris)DiffText
- bagian persis garis yang berubahSaya menggunakan tautan ini sebagai referensi untuk nomor warna.
Catatan: Saya tidak mengatur opsi gui karena saya menggunakan colorcheme yang berbeda untuk macvim / gvim
sumber
Untuk menjawab pertanyaan saya sendiri:
sumber
Saya menemukan cara termudah adalah menempelkan satu-liner ini ke file ~ / .vimrc saya:
sumber
Todo
bukanMatchParen
karena lebih menonjol.Jika Anda menemukan skema warna yang tidak dapat dibaca (tidak hanya jelek, tetapi tidak dapat dibaca seperti teks putih pada latar belakang merah muda), perbaikan yang mudah mungkin menggunakan 16 warna, bukan 256 warna. Maka Anda tidak perlu mengacaukan skema warna.
Alasannya adalah bahwa skema warna vimdiff default
DiffChange bg
ditetapkan sebagai "LightMagenta", yang dipetakan ke warna pink yang sangat terang dalam 256 warna. Itu tidak dapat dibaca dengan teks putih. Dengan 16 warna, "LightMagenta" dipetakan ke magenta tebal, yang teks putihnya tampak jauh lebih baik.Anda dapat memberikan tes cepat dengan melakukan sesuatu seperti ini:
Tangkapan layar 256 warna
Tangkapan layar 16-warna
Seperti yang Anda lihat, 16 warna jauh lebih mudah dibaca, tanpa mengubah skema warna.
Untuk menjadikan ini permanen, Anda dapat menambahkan
set t_Co=16
ke.vimrc
sumber
t_Co
diatur ke 8, meningkatkannya untukset t_Co=256
meningkatkan keterbacaan sangat.molokai: github: Kedua tema github dan molokai sama-sama cantik.
Masukkan kode berikut ke ~ / .vimrc Anda, Anda dapat memilih github atau molokai (baris yang dimulai dengan "adalah komentar):
sumber
Untuk orang-orang yang menggunakan tema Solarized yang sangat baik ada opsi yang mengaktifkan visibilitas tinggi untuk mode diff:
"normal"
"tinggi"
"rendah"
sumber
Sebenarnya, saya telah menemukan bahwa penyebab utama untuk warna fg / bg yang sama adalah karena konflik antara penyorotan sintaksis kode dan warna yang berbeda. Anda dapat mencoba mengubah skema warna-warna yang berbeda, tetapi ini mungkin merupakan permainan whack-a-mole ketika Anda membuka berbagai jenis file (dengan penyorotan sintaksis kode yang berbeda).
Solusi yang pasti adalah menonaktifkan penyorotan sintaks di vimdiff. Anda dapat mengetik:
:syntax off
Atau jika Anda ingin secara otomatis melakukan ini setiap waktu, kemudian tambahkan ini ke akhir
~/.vimrc
:sumber
Pendekatan lain adalah memperbaiki skema warna itu.
Sejauh yang saya tahu, biasanya ada empat kelompok sorotan relatif terhadap diff'ing: DiffAdd, DiffChange, DiffDelete, dan DiffText. Jika Anda tidak ingin repot dengan sintaks atau mengubah warna sesuai keinginan Anda, Anda mungkin bisa menyalin skema warna default Anda di bawah nama lain ke ~ / .vim / colors (buat direktori jika tidak ada) dan salin tempel yang sesuai: hi perintah dari skema warna alternatif Anda ke akhir skema warna kustom baru Anda, opsional mengomentari pernyataan berbeda terkait lainnya di dalamnya.
Dan jika hasilnya adalah peningkatan yang jelas, kirim email ke pengelola skema warna Anda dengan perubahan Anda dan minta dia untuk melihat masalahnya. Ada kesempatan baik bahwa dia akan berterima kasih atas minat Anda dan bahwa dia akan memperbaiki skema warnanya sehingga pengguna lain juga akan mendapat manfaat ..
sumber
/etc/vim/vimrc
atau~/.vimrc
: Jika menggunakan latar belakang gelap dalam area pengeditan dan penyorotan sintaks, aktifkan opsi ini jugaset background=dark
sumber
Saya menggunakan yang berikut saat menggunakan vimdiff dari dalam vim:
Bagian dengan pernyataan lain penting karena itulah cara Anda kembali ke konfigurasi sebelumnya setelah selesai dengan diff'ing. Jadi Anda bisa mengganti
syntax off
dansyntax on
dengancolorscheme
perintah masing-masing . Autocmd ini menangani perubahan pengaturan dan mengembalikannya ketika berhenti vimdiff (saya menggunakanGdiff
tepatnya).sumber
Untuk membuka @dean dan beberapa jawaban lain di sini, tambahkan ini ke
.vimrc
:sumber