2009-03-24 28 views
9

Tôi đang sử dụng emacs trong cửa sổ bảng điều khiển cả trên hộp Linux cục bộ của tôi và trên nút đăng nhập của cụm từ xa. Tôi sử dụng emacs thường xuyên, và tôi đã có màu foreground thiết lập để trắng trong emacs tôi nộp như sau:Emacs/xterm màu khó chịu trên Linux

(set-foreground-color "white") 
(set-background-color "black") 

Tuy nhiên, khi tôi chạy emacs, tiền cảnh không phải là màu trắng; màu xám và rất khó đọc. Trên máy Mac của tôi, các emacs trong cửa sổ bảng điều khiển có cùng cài đặt hiển thị dưới dạng màu trắng thích hợp. Nhưng trên cả hai hộp linux, trong konsole và xterm, nó có màu xám.

Trong trường hợp quan trọng, tôi có TERM đặt thành màu xterm, màn hình đang chạy RHEL 5 và nút cụm đang chạy RHEL 4 (CentOS).

Đây có phải là một số mặc định với cách Linux thiết lập màu thiết bị đầu cuối không? Làm thế nào để tôi nhận được màu trắng để có màu trắng?

Lưu ý: này là với giao diện điều khiển emacs, không Emacs dưới X. Đó là emacs -nw nếu bạn có DISPLAY bộ.

Trả lời

11

Màu brightwhite trông ok trên Emacs của tôi (đang chạy dưới đầu cuối chứ không phải X). Trên RHEL5, tôi có biến môi trường TERM được đặt thành xterm-256color. Nếu hoạt động chính xác, bạn sẽ có thể chạy these scripts và xem đầu ra 256 màu. Bên dưới Emacs, bạn sẽ thấy một đoạn đường màu mịn hợp lý (không có màu sắc rõ ràng trùng lặp) khi bạn làm M-x list-colors-display.Nếu không, bạn có thể thiếu mục nhập termcap đúng (thử cài đặt gói libtermcap-devel, tôi nghĩ).

Nếu tôi thay đổi TERM thành xterm-color, thì brightwhite xuất hiện một chút xám ở đầu ra là list-colors-display.

Tôi không chắc chắn về RHEL4.

1

Có vẻ như bạn chỉ đang thiết lập màu nền trước.

(set-foreground-color "white") 
(set-foreground-color "black") 

Tôi chắc chắn bạn có nghĩa là set-background-color về sau.

tôi có thể khẳng định điều này khi chạy Emacs như:

$ emacs -nw -bg black -fg white 

quá.

+0

xin lỗi đó là lỗi đánh máy! Đã cập nhật ở trên. – tgamblin

+0

Điều này không nên bị bỏ phiếu. Đó là một phản ứng dựa trên câu hỏi đánh máy OP. –

+0

Cảm ơn bạn đã bảo vệ. – ashawley

2

gì về:

(set-foreground-color "brightwhite") 

Đáp lại bình luận:

Trong emacs, chạy M-x list-colors-display mà sẽ cho bạn thấy tất cả các màu sắc mà Emacs nghĩ có sẵn với thiết bị đầu cuối của bạn.

+0

Tính năng này có phù hợp với bạn không? Tôi đã thử nó, nhưng nó mang lại cho tôi trình đơn màu đen và thanh trạng thái, và văn bản được hiển thị như màu nền trước mặc định từ thiết bị đầu cuối của tôi (màu xanh lá cây). Có lẽ tôi không có "brightwhite" – tgamblin

+0

Phản hồi được cập nhật –

1

tôi đã làm một số thí nghiệm, và bạn có thể thiết lập giao diện điều khiển màu sắc trong emacs, nhưng bạn được giới hạn bảng màu này:

black     blue           
cyan      green           
magenta     red           
white     yellow  

Các trắng mà bạn nhận được hơi chuyển sang màu xám; màu trắng sáng hoàn toàn được dành riêng cho văn bản in đậm. Vì vậy, nếu bạn chạy

M-x facemenu-set-bold 

bạn sẽ có văn bản in đậm (màu trắng sáng) để chèn sau.

Tôi không có may mắn cố gắng buộc khuôn mặt mặc định in đậm. (Tôi không thực sự hiểu cách các khuôn mặt hoạt động trong các emacs.)

+0

"nhưng bạn bị giới hạn trong bảng này" - Điều này không thực sự đúng, các emacs hỗ trợ 256 màu giả thiết thiết bị đầu cuối của bạn được thiết lập đúng cách. Xem ảnh chụp màn hình @ http://seanbright.com/e256.png –

+0

@Sean: chọn một số danh tiếng tại http://stackoverflow.com/questions/684424/how-do-i-set-up-my-linux-x -terminal-so-that-emacs-có-truy cập-to-256-màu sắc –

2

Điều gì xảy ra nếu bạn chỉ sử dụng video ngược cho phiên bản bảng điều khiển là đủ tốt?

$ emacs -nw -rv 
1

Tôi cũng thấy rằng tôi đã có màu sắc lạ trong chế độ đầu cuối và cuối cùng truy tìm nó xuống tùy chỉnh khuôn mặt phông chữ. Tôi đã có một cái gì đó như thế này:

(custom-set-faces 
;; custom-set-faces was added by Custom. 
;; If you edit it by hand, you could mess it up, so be careful. 
;; Your init file should contain only one such instance. 
;; If there is more than one, they won't work right. 
'(default ((t (:inherit nil :stipple nil :background "#000a00" :foreground "#ffffed" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 113 :width normal :foundry "unknown" :family "Droid Sans Mono"))))) 

Tôi đã loại bỏ các tính chất nền trước và nền và mọi thứ bắt đầu trông hunky-dory.

Các vấn đề liên quan