Sebagai workstation utama saya, saya menggunakan mac yang menjalankan OS X 10.5. Saya menghabiskan banyak hari ssh'd ke sistem jarak jauh dan saya bekerja di grokking vim. Salah satu hal yang ingin saya lakukan adalah bereksperimen dengan skema warna yang berbeda.
Masalah yang saya temui adalah bahwa pengaturan Terminal.app saya menimpa warna yang ditentukan dalam skema warna vim. Contoh yang sangat sederhana adalah warna latar belakang. Jika saya memilih, katakanlah, skema warna 'gurun' dalam vim di server jauh latar belakang harus hitam. Jika saya kemudian menggunakan preferensi Terminal untuk mengatur warna latar belakang saya menjadi oranye intens, preferensi Terminal saya menang.
Saya ingin preferensi Terminal saya menang untuk shell lokal, tetapi saya ingin semua yang saya tentukan pada sistem jarak jauh menang pada mereka. Apakah itu mungkin?
sumber
Jawaban:
[ Memperbarui: Pada Mac OS X Lion 10.7 Terminal mendukung warna BCE dan 256.]
Anda mungkin menghadapi dua masalah:
Terminal tidak mendukung model Background Color Erase (BCE) †. vim membutuhkan terminal BCE untuk mengisi warna latar belakang untuk area kosong.
Terminal hanya mendukung 16 warna ANSI, bukan model 256 warna yang diperluas. Beberapa skema warna vim, seperti "desert256", memerlukan dukungan 256 warna untuk memilih warna tertentu.
Jika Anda menggunakan pengaturan yang sama di Xterm (jalankan vim pada mesin jarak jauh dengan skema warna yang Anda pilih) dan berperilaku seperti yang diharapkan, satu atau keduanya inilah yang Anda temui.
† BCE berarti bahwa urutan kontrol terminal tertentu seperti "erase to end of line" dan "clear screen" akan mengisi area yang dibersihkan dengan warna latar belakang teks yang saat ini dipilih. Emulator terminal Non-BCE menampilkan latar belakang statis apa pun yang biasanya ditampilkan. Beberapa program akan mendeteksi apakah terminal mendukung BCE (via terminfo) dan "secara manual" mengisi area kosong dengan karakter spasi, tetapi vim tidak.
(BCE ada untuk membuatnya lebih efisien untuk mengisi warna latar belakang di area tampilan yang luas, dan untuk menghilangkan karakter ruang yang tidak diinginkan ketika menyalin teks dari emulator, misalnya. Dari apa yang saya baca, tidak ada terminal fisik yang pernah didukung BCE, itu sepenuhnya fitur dari beberapa emulator terminal modern.)
sumber