Tempat
Menjelajahi tmux , Vim dan Solarized Saya dapat menemukan banyak keluhan tentang 256 warna dan "pengalaman pengguna". Nah, Saya mengalami kebalikan "masalah", yaitu Vim bekerja dengan baik dengan penuh Solarized tema hanya di tmux .
Latar Belakang
Saya telah mengubah dan mencari-cari sebentar sekarang dengan skema warna terminal Ubuntu dan Guake saya dan saya hampir mencapai kesempurnaan yang dicapai ketika saya menggunakan tmux , yang pada gilirannya berarti selalu. Saya mencoba sekarang untuk memahami mengapa ini terjadi.
Di sini di bawah ini ada dua Terminal, yang di sebelah kiri hanya menjalankan Vim (menunjukkan saat ini .vimrc
) sedangkan yang lainnya menjalankan Vim di dalam sesi tmux . Seperti yang dapat Anda lihat dengan jelas, hanya dalam sesi tmux fontnya tebal, yang saya kira benar (atau tidak?).
Pertanyaan
Mengapa tmux memungkinkan untuk huruf tebal sedangkan terminal, di mana tmux berjalan, tidak? Apakah itu bug atau fitur?
echo $TERM
masuk dan keluartmux
?screen
sedangkan terminal berkataxterm
:)$TERM
tidak relevan.xterm*termName: xterm-256color
Anda~/.Xresources
dan lihat apakah itu membuat perbedaan ...Jawaban:
Jawaban singkat
Itu bug.
Jawaban penuh
Sepertinya "benar" visualisasi adalah satu di kiri, di mana huruf tebal yang tidak diberikan. Untuk apa yang saya bisa mengerti ( inilah rujukannya) atribut bold digunakan, awalnya, untuk mengatur versi yang disorot dari 8 warna dasar.
Pada dasarnya, apa yang terjadi di sini adalah bahwa, untuk menggunakan palet Solarized penuh , dengan oranye , ungu dan semua tingkat abu - abu , warna-warna tersebut disebut dengan atribut berani , yang pada gilirannya mengacu pada 8 warna alternatif dari Palet ANSI.
Terminal memahami ini dengan benar, dan menunjukkan oranye dan abu-abu komentar dalam pengaturan huruf normal , sedangkan tmux menambahkan font tebal yang tidak perlu ke mereka. Kesimpulannya, sisi kiri benar sedangkan yang kanan tidak.
Pertanyaan 2
Apakah ada cara untuk menonaktifkan rendering yang berani dari tmux ?
Saya masih harus melakukan riset tentang hal itu, dan saya akan memperbarui jawaban ini segera setelah saya menemukan sesuatu.
Jawaban 2
Dan di sini kita punya solusinya! :)
Agar tmux berperilaku benar, kita harus menyebutnya memberitahunya bahwa kita berada dalam lingkungan 256 warna yang diaktifkan.
Untuk kenyamanan kami dapat melakukan
alias
ini (yaitu Anda menambahkanalias tmux="<the line above>"
ke Anda~/.bashrc
).Memanggil
tmux
sebagaitmux -2
, untuk memaksa tmux berjalan dengan dukungan 256 warna (alih-alih mendefinisikan ulangTERM
variabel lingkungan) tidak akan memungkinkan interpretasi yang benar dari 8 warna "alternatif-berani" (yaitu varian yang lebih cerah juga akan menghasilkan pengaturan huruf yang tebal). Oleh karena itu, saya sangat menyarankan untuk menggunakan solusi di sini di atas untuk memiliki kedua yang benar 256 warna interpretasi dan non-bold "berani-alternatif" warna.sumber