Câu trả lời:
Đầu tiên, Vim tìm trong các thư mục thời gian chạy của nó cho một colors
thư 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/colors
thư mục. Màu sắc mặc định được đặt trong $VIMRUNTIME/colors
, nơi $VIMRUNTIME
thường là /usr/share/vim/vim74
hoặc các /usr/local/share/vim/vim74
thư 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ị.
Để 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/colors
thư mục vào ~/.vim/colors
thư 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 desert
colorcheme đi kèm với Vim theo mặc định, hãy đặt tên tệp là default_mod.vim
hoặ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 cterm
và gui
để 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 diffAdded
nhóm tô sáng với nhóm tô sáng Chuỗi được xác định ở trên:
highlight link diffAdded String
Kiểm tra các trang web như Vivify và Villustrator . 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.
Có một số công cụ để thực hiện điều này tự động:
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.