Làm thế nào tôi có thể tạo màu sắc của riêng tôi?


16

Tôi cần tạo tập tin gì? Những gì nên có trong các tập tin này? Có một tập tin colorcheme mặc định ở đâu đó mà tôi có thể sử dụng và thay đổi giá trị màu cho phù hợp không?

Câu trả lời:


15

Địa điểm Colorscheme

Đầu tiên, Vim tìm trong các thư mục thời gian chạy của nó cho một colorsthư mục. Đây là nơi lưu trữ tất cả các màu sắc ( :help 'runtimepath')

Điều này có nghĩa là bạn sẽ cần một tệp nằm trong ~/.vim/colorsthư mục. Màu sắc mặc định được đặt trong $VIMRUNTIME/colors, nơi $VIMRUNTIMEthường là /usr/share/vim/vim74hoặc các /usr/local/share/vim/vim74thư mục, tùy thuộc vào cách Vim được cài đặt (thay thế vim74 cho vim73 cho Vim phiên bản 7.3)

Bây giờ để có được phần thú vị.

Tạo một màu sắc

Để bắt đầu với việc tạo màu sắc của riêng bạn, tôi khuyên bạn nên xem qua các bảng màu mặc định và thử nghiệm sửa đổi chúng.

Vì vậy, sao chép màu sắc mặc định từ $VIMRUNTIME/colorsthư mục vào ~/.vim/colorsthư mục của bạn . Đặt tên cho nó một cái gì đó phân biệt chính nó với tên colorcheme mặc định. Vì vậy, nếu bạn đã sao chép các desertcolorcheme đi kèm với Vim theo mặc định, hãy đặt tên tệp là default_mod.vimhoặc một cái gì đó cho hiệu ứng đó. Mở tệp colorscheme và thay đổi let g:colors_nameđể cũng phân biệt chính nó với tệp colorscheme mặc định. Theo quy ước, tên này phải giống với tên tệp colorscheme.

Trong colorscheme, tất cả các bạn phải làm là cung cấp cho các màu sắc cho ctermbg, ctermfg, guibg, guifg(đối với nền thiết bị đầu cuối, thiết bị đầu cuối foreground, nền gui, gui foreground màu sắc tương ứng) cho khác nhau được xây dựng trong các nhóm nổi bật. Để kiểm tra danh sách các nhóm nổi bật bạn có thể sửa đổi, hãy kiểm tra :help highlight-default. Tùy chọn, bạn cũng có thể sử dụng các thuộc tính ctermguiđể xác định rằng bạn muốn một nhóm đánh dấu được in đậm hoặc in nghiêng.

Ví dụ: điều này sẽ đặt màu xanh lục cho Chuỗi:

highlight String ctermbg=NONE ctermfg=107 guibg=NONE guifg=#95B47B

Bạn cũng có thể sử dụng các liên kết nổi bật để liên kết một nhóm đánh dấu với một nhóm khác. Điều này rất hữu ích nếu bạn muốn hai nhóm nổi bật có cùng màu.

Chẳng hạn, bạn có thể liên kết diffAddednhóm tô sáng với nhóm tô sáng Chuỗi được xác định ở trên:

highlight link diffAdded String


Nếu tôi chỉ sao chép một trong các tập tin colorscheme.vim và sau đó đặt nó vào thư mục riêng thì tôi có thể sử dụng lại nó trên các máy khác của mình không? Ví dụ: nếu tôi đặt nó trong một repo trên github, tôi có thể sao chép nó hoặc kích hoạt nó trong một trong những trình quản lý plugin không?
dkns 30/03/2015

@dkns, Yep, chính xác. Chẳng hạn, bạn có thể đặt tên cho colorcheme của mình là "dkns_colorscheme.vim", đặt nó vào một thư mục màu sắc và sau đó đẩy nó lên Github. Nếu bạn đã cài đặt trình quản lý plugin, nhân bản repo này sẽ cung cấp màu sắc cho Vim.
akshay 30/03/2015

Câu hỏi khác. Không chắc chắn nếu tôi nên đăng nó ở đây như là một bình luận hoặc hỏi một câu hỏi chung khác. Làm thế nào tôi có thể tìm thấy giá trị màu cho cterm? Tôi muốn chủ đề này trông giống nhau trên gui và terminal nhưng tôi không biết làm thế nào để chuyển đổi giá trị hex thành giá trị cterm.
dkns

1
@dkns Vì màu của thiết bị đầu cuối chủ yếu phụ thuộc vào bảng màu được sử dụng trong trình giả lập thiết bị đầu cuối, điều này khá khó thực hiện. Khi tôi đang tạo màu sắc của mình, tôi thấy thật hữu ích khi hiển thị mỗi màu trong số 256 màu trông như thế nào. Tôi sử dụng tập lệnh nhỏ này trong thư mục bin của tôi. Bạn chỉ có thể sử dụng một công cụ chọn màu để sau đó chọn các màu để đảm bảo cùng màu gui và cterm. Tôi sẽ đi từ cterm-> gui chứ không phải cách khác vì có nhiều màu sắc hơn trong gui vim. Mong rằng sẽ giúp.
akshay

7

Kiểm tra các trang web như VivifyVillustrator . Về cơ bản, chúng cho phép bạn tạo hoặc điều chỉnh sơ đồ một sơ đồ và sau đó tải xuống các tệp cần thiết.


0

Có một số công cụ để thực hiện điều này tự động:

  • vivify : khá phức tạp, bạn phải chọn thủ công từng màu cho từng nhóm tô sáng duy nhất.
  • vimcolors.org : rất đơn giản và dễ dàng. Chỉ cần chọn một số màu sắc và nó sẽ tự động tạo ra sơ đồ cho bạn.

0

Một công cụ tuyệt vời khác là RNB bởi romainl sử dụng ERB . ERB (Embedded RuBy) là một tính năng của Ruby cho phép bạn tạo một số văn bản từ các mẫu.

Vì vậy, việc sử dụng công cụ này khá đơn giản: Trước tiên, bạn cần xác định các biến khác nhau tương ứng với danh pháp màu sắc của bạn và tất nhiên với nội dung thực tế của nó (Màu sắc sẽ trông như thế nào, nhóm nào bạn muốn sử dụng, v.v.) Khá thẳng về phía trước vì tác giả đã viết rất nhiều ý kiến ​​để giúp bạn. Sau đó, tất cả những gì bạn cần làm là cung cấp mẫu tùy chỉnh của bạn cho erb và công cụ sẽ tạo ra các tệp phù hợp.

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.