Màu xanh đậm trong đầu ra vim hoặc ls trong linux


58

Tôi có một vấn đề với màu xanh đậm trong vimhoặc lsđầu ra. Bởi vì tôi đang sử dụng màu nền đen, các từ được tô màu xanh lam gần như hoàn toàn vô hình. Làm thế nào tôi có thể giải quyết vấn đề này?



1
Điều khác bạn có thể làm là tự thay đổi màu sắc. Không có màu nào (ngay cả những màu 'tối') được cho là không thể đọc được trên nền đen. Nếu bạn có thể chỉ định thiết bị đầu cuối nào bạn đang sử dụng, có thể cung cấp thêm thông tin nếu câu hỏi được liên kết không giúp ích cho việc này.
Random832

Điều này trông giống như một vấn đề với một số màn hình hoặc đầu ra thẻ video. Màu xanh mặc định này (dường như ít nhất giống hoặc ít hơn trong bảng điều khiển linux và trong một số trình giả lập thiết bị đầu cuối) có thể đọc được trên một số màn hình và không thể đọc được trên các màn hình khác.
ngày

Câu trả lời:


55

Bạn có thể sửa đổi chủ đề màu của vim với backgroundtùy chọn. Sử dụng

set background=dark

trong phiên hiện tại của bạn hoặc đặt nó vĩnh viễn trong vimrc của bạn.

Đầu ra của lsđược cấu hình với /etc/DIR_COLORS. Xem trang hướng dẫn để biết thêm thông tin. Các cài đặt có thể được ghi đè bằng tệp ~/.dir_colors(Trên Ubuntu: ~/.dircolors- xem mục nhập ~/.bashrc) trong thư mục chính của bạn.

Một mục như

 DIR 01;36 

sẽ tạo ra một nền dễ đọc hơn với màu lục lam.


Đối với những người mới sử dụng bash: sau khi tạo tệp của bạn (ví dụ ~/.dircolors:) theo hướng dẫn ở đây, bạn chỉ cần source ~/.bashrcthấy nó hoạt động. Cảm ơn câu trả lời này!
Marcus

26

Thay vì định cấu hình các ứng dụng để tránh màu xanh trên nền đen, tôi khuyên bạn nên định cấu hình thiết bị đầu cuối của mình để làm cho màu xanh hiển thị rõ hơn. Hầu hết các trình giả lập thiết bị đầu cuối có một thiết lập cho điều đó. Trong xterm, có một tài nguyên X:

XTerm.VT100.color4: CornflowerBlue

Trong các trình giả lập thiết bị đầu cuối khác, hãy tìm trong tệp cấu hình hoặc hộp thoại để biết các cài đặt màu hoặc chủ đề.

Có một chung dãy điều khiển để thiết lập màu kết hợp với một số màu sắc từ các ứng dụng: OSC 4 ; c ; spec BELnơi OSCESC ], clà số màu sắc và speclà một spec màu như #RGB.

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

Một thay đổi của ứng dụng chỉ có hiệu lực cho đến khi thiết lập lại thiết bị đầu cuối tiếp theo. Nếu bạn sử dụng phương pháp này (chỉ được khuyến nghị nếu thiết bị đầu cuối của bạn thiếu cơ chế cấu hình), để thực hiện thay đổi một cách hiệu quả, hãy nối chuỗi thoát cấu hình màu vào chuỗi đặt lại của thiết bị đầu cuối của bạn (termcap: r1string; terminfo: rs1chuỗi).

Xem thêm Ghi đè màu bóng được hiển thị , Tôi có thể đặt màu thiết bị đầu cuối của máy cục bộ của mình để sử dụng màu của máy tôi ssh không? .


Thoạt nghe có vẻ là một gợi ý khập khiễng, nhưng xem xét rằng tôi không thể đọc được một nửa màu tối và không có chương trình nào của tôi sử dụng màu nền vững chắc trong đó màu tối có thể hợp lý, điều này thực sự rất có ý nghĩa!
M Conrad

Solarized ( ethanschoonover.com/solarized ) có các phối màu đẹp cho các trình giả lập thiết bị đầu cuối khác nhau và các chương trình khác.
David

10

Một cách nhanh hơn để đặt lsmàu thư mục cho phiên cuối của bạn:

1. Mở terminal của bạn chạy lệnh 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 ~ $ 

Nó vẹt cho bạn lệnh để bạn đặt màu cho ls. 'Di' là viết tắt của thư mục. 34 là màu xanh đậm xấu. 36 là màu lục lam. Vì vậy, cho phép dán nó, và thay đổi nó vào thiết bị đầu cuối.

2. Sao chép toàn bộ nội dung đó vào thiết bị đầu cuối, thực hiện một thay đổi duy nhất

Bạn thay đổi di=01;34thành di=01;36như thế này:

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. Điều này đặt màu thư mục thành màu lục lam ngay lập tức

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

4. Thực hiện các bước trên vĩnh viễn

Làm cho nó vĩnh viễn bằng cách đặt các lệnh trên ở dưới cùng của ~ / .bashrc như thế này:

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

Nếu bạn đặt cái này vào ~ / .bashrc và (khởi động lại thiết bị đầu cuối hoặc source ~/.bashrc), màu sắc vẫn sẽ đúng.


2
Bảng màu cho dircolors có thể được lưu trong tệp có thể đọc được và được áp dụng từ bashrc với eval " dircolors -b ~/.dir_colors". Xem ở đây ví dụ về màu sắc.
alexei

bây giờ symlink của tôi có cùng màu với dir
ealeon

@ealeon Ah, có vẻ như các thư mục divà symlink lncó cùng màu với 01;36. Hãy thoải mái chuyển đổi những màu sắc đó, nếu sự khác biệt cụ thể đó là quan trọng đối với bạn. Màu sắc này là một mặc định tôi tìm thấy đá xung quanh.
Eric Leschinski

8

Nếu bạn thông báo cho vim rằng bạn đang sử dụng nền đen (hoặc chủ đề tối khác), nó sẽ sáng lên tất cả các màu để chúng có thể đọc được:

:set bg=dark

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.