Có bộ chọn màu cho Emacs không?


20

Tôi sử dụng tuyệt vời rainbow-modeđể làm nổi bật màu sắc trong các tệp CSS.

css với chế độ cầu vồng

Tuy nhiên, điều này giả định tôi biết tôi muốn màu gì. Có bất kỳ bộ chọn màu nào mà tôi có thể sử dụng để chỉnh sửa CSS bên trong Emacs không? Lý tưởng nhất, tôi thực sự thích một cái gì đó mà tôi có thể làm cho màu sắc đậm hơn một chút / sáng hơn / đỏ hơn / xanh hơn, như trình chọn màu của Firefox:

công cụ chọn màu firefox

Ngoài ra, tôi đã nhận thấy customize-facecung cấp một bộ chọn màu từ một bộ 548 màu. Tôi có thể sử dụng cái này cho CSS không?

tùy chọn màu mặt


2
Tôi không thể cưỡng lại việc trích dẫn một cuộc trao đổi bắt nguồn từ những ngày đầu của Emacs: "Sư phụ, Emacs có phật tính không?" "... Tôi không thể hiểu tại sao không, nó có mọi thứ khác."
keshlam

1
Cảm ơn đã đưa lên rainbow-mode! Tôi đang tìm kiếm tính năng này và không thể nhớ nó nằm trong gói nào.
wdkrnls

Câu trả lời:


16

Có một cái nhìn tại helm-colors. Nó thể hiện màu sắc chính xác như trong ảnh chụp màn hình của bạn và dường như đang sử dụng một bảng màu tương tự hoặc thậm chí giống nhau.

Để chèn tên màu vào bộ đệm hiện tại, nhấn C-c n(chạy hành động Insert Name).

Để chèn giá trị hex của một màu, nhấn C-c r(chạy hành động Insert RGB).


3
Tôi thứ hai helm-colors. Đây là một bản demo cho bất cứ ai quan tâm đến nó trông như thế nào. Bạn có thể chọn một màu và chèn nó ngay vào bộ đệm chỉnh sửa của bạn.
Từ Đỗ

2
helm-colorslà tuyệt vời, nhưng nó dường như không thay thế tại điểm, thậm chí không chèn vào bộ đệm. Lý tưởng nhất là tôi muốn một cái gì đó hỗ trợ màu sắc tùy ý.
Wilfred Hughes

@WilfredHughes Nó có. Bạn cần nhìn vào menu hành động, bằng cách nhấn TAB(ràng buộc khóa mặc định, sử dụng của bạn nếu bạn liên kết với một cái gì đó khác). Xem phần helm-colors của tôi trong hướng dẫn của tôi.
Từ Đỗ

2
Nếu bạn muốn chèn một màu với giá trị hex của nó, nhấn C-c r.
Từ Đỗ

13
  • Library Palette ( palette.el) cung cấp cho bạn trình chọn / chỉnh sửa màu WYSIWYG chung, cho phép bạn khám phá và sửa đổi màu sắc bằng các giá trị RGB và HSV, bao gồm cả tăng dần. Nó trông giống như những gì bạn thể hiện trong hình ảnh thứ hai của bạn.

  • Thư viện Do Re Mi ( doremi.el, doremi-cmd.el, doremi-frm.el) cho phép bạn thay đổi màu sắc được sử dụng trong Emacs từng bước: "thao tác trực tiếp".

  • Thư viện Facemenu + ( facemenu+.el) cho phép bạn sử dụng bảng màu (# 1) để thay đổi màu được sử dụng trong Emacs. Nó tăng cường thư viện tiêu chuẩn facemenu.el, những thứ như list-colors-displaylist-faces-display(trông giống với hình ảnh thứ 3 của bạn).

  • Thư viện Icicles cho phép bạn chọn và thao tác màu sắc và khuôn mặt tăng dần, thao tác RGB, HSV, v.v. và sắp xếp các lựa chọn có thể theo nhiều cách (ví dụ: kết hợp các cường độ thành phần màu).

(Bạn có thể lấy các thư viện được đề cập ở đây từ MELPA và các tệp Lisp chứa tài liệu đầy đủ (nhưng không có hình ảnh).)


5

Làm thế nào về:

(defun my-insert-color-hex ()
  "Select a color and insert its hexadecimal format."
  (interactive "*")
  (let ((buf (current-buffer)))
    (list-colors-display
     nil nil `(lambda (name)
                (interactive)
                (quit-window)
                (with-current-buffer ,buf
                  (insert (apply 'color-rgb-to-hex
                                 (color-name-to-rgb name))))))))
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.