Warna biru gelap di vim atau keluaran ls di linux

58

Saya memiliki masalah dengan warna vimatau lsoutput biru tua . Karena saya menggunakan warna latar belakang hitam, kata-kata berwarna biru tua hampir tidak terlihat. Bagaimana saya bisa mengatasi masalah ini?

Gilles 'SANGAT berhenti menjadi jahat'
sumber
kemungkinan duplikat Mengganti warna yang ditampilkan
Gilles 'SO- stop being evil'
1
Hal lain yang dapat Anda lakukan adalah mengubah warna sendiri. Tak satu pun dari warna (bahkan yang 'gelap') seharusnya tidak dapat dibaca pada latar belakang hitam. Jika Anda dapat menentukan terminal apa yang Anda gunakan, lebih banyak informasi dapat diberikan jika pertanyaan yang ditautkan tidak membantu.
Random832
Ini terlihat seperti masalah dengan beberapa tampilan atau keluaran kartu video. Biru default ini (yang tampaknya setidaknya kurang lebih sama di konsol linux dan di beberapa emulator terminal) dapat dibaca pada beberapa tampilan, dan tidak dapat dibaca pada yang lain.
njsg

Jawaban:

55

Anda dapat memodifikasi tema warna vim dengan backgroundopsi. Menggunakan

set background=dark

di sesi Anda saat ini atau atur secara permanen di vimrc Anda.

Output dari lsdikonfigurasi dengan /etc/DIR_COLORS. Lihat halaman manual untuk informasi lebih lanjut. Pengaturan dapat ditimpa dengan file ~/.dir_colors(Di Ubuntu: ~/.dircolors- lihat entri di ~/.bashrc) di direktori home Anda.

Entri suka

 DIR 01;36 

akan menghasilkan latar belakang yang lebih mudah dibaca dengan cyan.

echox
sumber
Bagi mereka yang baru mengenal bash: setelah membuat file Anda (misalnya, ~/.dircolors) seperti diarahkan di sini, Anda hanya perlu source ~/.bashrcmelihatnya berfungsi. Terima kasih atas jawaban ini!
Marcus
26

Daripada mengkonfigurasi aplikasi untuk menghindari warna biru hitam, saya sarankan mengkonfigurasi terminal Anda untuk membuat biru lebih terlihat. Kebanyakan emulator terminal memiliki pengaturan untuk itu. Di xterm, ada sumber X:

XTerm.VT100.color4: CornflowerBlue

Di emulator terminal lain, lihat di file konfigurasi atau dialog untuk pengaturan warna atau tema.

Ada umum urutan kontrol untuk mengatur warna terkait dengan sejumlah warna dari aplikasi: OSC 4 ; c ; spec BELdi mana OSCadalah ESC ], cadalah jumlah warna dan specadalah spec warna seperti #RGB.

printf %b '\e]4;4;#6495ed\a'  # set the blue shade to CornflowerBlue

Perubahan oleh aplikasi hanya efektif hingga terminal berikutnya direset. Jika Anda menggunakan metode ini (hanya disarankan jika terminal Anda tidak memiliki mekanisme konfigurasi), untuk membuat perubahan tersebut tetap bertahan, tambahkan urutan pelepasan konfigurasi warna ke string reset terminal Anda (termcap: r1string; terminfo: rs1string).

Lihat juga Mengganti warna warna yang ditampilkan , Dapatkah saya mengatur warna terminal mesin lokal saya untuk menggunakan warna dari mesin yang saya ssh? .

Gilles 'SANGAT berhenti menjadi jahat'
sumber
terdengar seperti saran lumpuh pada awalnya, tetapi mengingat bahwa saya tidak bisa membaca setengah warna gelap dan tidak ada program saya menggunakan warna latar belakang yang solid di mana gelap mungkin masuk akal, ini sebenarnya masuk akal!
M Conrad
Solarized ( ethanschoonover.com/solarized ) memiliki skema warna yang bagus untuk berbagai emulator terminal dan program lainnya.
David
10

Cara yang lebih cepat untuk mengatur lswarna direktori untuk sesi terminal Anda:

1. Buka terminal Anda, jalankan perintah dircolors:

machines@box790 ~ $ dircolors
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
machines@box790 ~ $ 

Ini parrot Anda perintah bagi Anda untuk mengatur warna untuk ls. 'Di' adalah singkatan dari direktori. 34 adalah biru tua yang buruk. 36 adalah cyan. Jadi ayo tempel, dan ubah ke terminal.

2. Salin semua itu ke terminal, buat satu perubahan

Anda mengubah di=01;34menjadi di=01;36seperti ini:

machines@box790 ~ $ LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

machines@box790 ~ $ export LS_COLORS

3. Ini mengatur warna direktori ke cyan segera

do an 'ls' and see that directories are indeed cyan.

4. Jadikan langkah di atas permanen

Jadikan permanen dengan menempatkan perintah di atas di bagian bawah ~ / .bashrc Anda seperti ini:

LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

Jika Anda memasukkan ini ke ~ / .bashrc Anda dan (restart terminal atau source ~/.bashrc), warnanya tetap benar.

Eric Leschinski
sumber
2
Skema warna untuk dircolors dapat disimpan dalam file yang dapat dibaca manusia, dan diterapkan dari bashrc dengan eval " dircolors -b ~/.dir_colors". Lihat contoh colorscheme di sini .
alexei
sekarang symlink saya adalah warna yang sama dengan dir
ealeon
@ealeon Ah, tampaknya direktori didan symlink lnmemiliki warna yang sama 01;36. Jangan ragu untuk mengganti warna-warna itu, jika perbedaan itu penting bagi Anda. Skema warna ini adalah default yang saya temukan menendang-nendang.
Eric Leschinski
8

Jika Anda memberi tahu vim bahwa Anda menggunakan latar belakang hitam (atau tema gelap) itu akan menerangi semua warna sehingga dapat dibaca:

:set bg=dark
Caleb
sumber
1
eval `dircolors | sed -e 's/;34:/;36:/'`
Spongman
sumber