Màu sắc tốt hơn để bình luận không phải là màu xanh đậm trong Vim?


221

Chủ yếu tôi chỉnh sửa các tập tin Ruby, mặc dù các bình luận tập tin shell shell cũng #

Hiện tại ý kiến ​​của tôi cho thấy màu xanh đậm trên màu đen rất khó đọc.

Xem ảnh chụp màn hình.

Làm thế nào tôi có thể thay đổi màu sắc của họ?

Tôi sẵn sàng xem xét các lược đồ khác nhau cho tất cả các màu mặc dù tôi thích nền đen làm nền.

Một ảnh chụp màn hình của một cửa sổ đầu cuối với Vim đang chạy trong đó.  Các ý kiến ​​có màu xanh đậm trên nền đen làm cho chúng khó nhìn thấy.


4
Tôi thích một nền tảng tương phản cho các bình luận - nó đặt chúng ra khỏi mã, ví dụ. hi Comment ctermbg=gray ctermfg=darkblue. Bạn có thể thiết lập bảng màu của mình và sau đó thay đổi từng chút một; đặt các bit trong một tệp riêng biệt và sourcenó từ vimrc của bạn ở cuối.
goldilocks

1
TL; DR Chỉ cần chỉnh sửa ~ / .vimrc và thêm sa mạc
colorcheme

Câu trả lời:


229

Có nhiều cách phối màu thường được phân phối cùng với vim. Bạn có thể chọn chúng bằng :colorlệnh.

Bạn có thể thấy các bảng màu có sẵn trong colorsthư mục của vim , ví dụ trong trường hợp của tôi:

$ ls /usr/share/vim/vimNN/colors/ # where vimNN is vim version, e.g. vim74
blue.vim  darkblue.vim  default.vim  delek.vim  desert.vim  elflord.vim 
evening.vim  koehler.vim  morning.vim  murphy.vim  pablo.vim  peachpuff.vim
README.txt  ron.vim  shine.vim  slate.vim  torte.vim  zellner.vim

Tôi thường sử dụng desert. Vì vậy, tôi mở vim, sau đó nhập :color desertvà nhập. Để có bảng màu theo mặc định mỗi khi bạn mở vim, hãy thêm :color desertvào ~/.vimrc.

(Michael, OP) Điều này thật tốt. Thiết bị đầu cuối trông như:

Ví dụ về VIM trên tệp Ruby hiển thị cú pháp tô sáng bằng nhiều màu khác nhau


25
Bạn cũng có thể chuyển qua các màu có sẵn bằng TAB sau khi nhập :color.
Daddy32

148

Khi bạn đang sử dụng nền tối trong thiết bị đầu cuối của mình, bạn chỉ cần đặt

:set background=dark

thay vì mặc định

:set background=light

Các màu sau đó sẽ tự động được đặt chính xác.

Nếu bạn muốn có cái này vĩnh viễn, hãy thêm dòng

set background=dark

vào $HOME/.vimrctập tin của bạn .


12
Trong khi câu trả lời được chấp nhận có thông tin hữu ích, câu trả lời này ngắn gọn hơn nhiều về nguyên nhân gốc rễ của vấn đề đối với những người như tôi, người thích một cửa sổ đầu cuối theo chủ đề tối.
Đánh dấu Edington

4
Thật không may, điều này vẫn sử dụng màu xanh đậm gần như không thể đọc được ở những nơi.
rooby

2
@rooby Thông thường, bạn có thể thay đổi màu mặc định trong trình giả lập thiết bị đầu cuối của mình, xem thêm các câu trả lời khác.
jofel

3
Có vẻ khá lạ khi debian (ít nhất) mặc định là nền tối cho cửa sổ đầu cuối của nó nhưng vim của phân phối tương tự mặc định với giả định nền sáng về thiết bị đầu cuối.
James Bowery

2
Tôi nghĩ bạn cũng có thể chỉ sử dụng bgthay vìbackground
abonet

26

Bạn có thể làm điều đó bằng tay với lệnh này:

:hi Comment guifg=#ABCDEF

Đâu ABCDEFlà một mã hex màu thích hợp .

Để làm cho nó vĩnh viễn, bạn sẽ cần thêm các dòng này vào ~/.vimrctệp của mình (sử dụng màu xanh lá cây làm ví dụ):

syntax on
:highlight Comment ctermfg=green

5
Cũng có thể thấy các cài đặt nổi bật hiện tại của bạn có :hihoặc :highlight(tức là không có bất kỳ đối số nào khác).
evilsoup

1
Bạn cũng có thể thay đổi các loại khác, chẳng hạn như chuỗi trong hỗ trợ các loại tài liệu, ví dụ:highlight String ctermfg=green
tổng

14

Một tùy chọn tôi tìm thấy là trong tùy chọn thiết bị đầu cuối (menu trên cùng, không phải cửa sổ).

Điều này có tùy chọn hồ sơ và sau đó là một tab màu, ví dụ

nhập mô tả hình ảnh ở đây

Thay đổi mục nhập Palette 5 từ màu xanh đậm sang Light Lilac. Cuối cùng tôi đã chọn xterm làm bảng màu và làm sáng màu bình luận, vdnhập mô tả hình ảnh ở đây


2
Câu hỏi duy nhất của tôi bây giờ là liệu bây giờ tôi có thể lưu các tùy chọn đó trong một tệp để chúng có ở đó để thiết lập máy mới không.
Michael Durrant

2
Tôi sử dụng xterm và đặt màu xanh lam thành thứ gì đó có thể nhìn thấy trong mắt .Xresource: "XTerm * color4: light sky blue".
Holygeek

9

Tôi đã có chính xác vấn đề này một chút trước đây, giải pháp là đặt dòng sau vào tệp vimrc của bạn:

set t_Co=256

Và sau đó, bạn có thể phải đặt phần sau vào cuối ~ / .profile của mình:

#set vim terminal to 256 colors.
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
    export TERM='xterm-256color'
else
    export TERM='xterm-color'
fi

và sau đó bạn có thể đặt:

hi Comment      ctermfg=lightblue

trong tệp vimrc của bạn và sau đó bạn sẽ có các bình luận màu xanh nhạt.
vimrc 256: http://vim.wikia.com/wiki/256_colors_in_vim

Tôi cũng nhận thấy màn hình trở nên đẹp hơn bằng cách đặt nó thành 256.


7

Nếu trên nền tối trong Debian, sau đó uncommenting set background=darktrong /etc/vim/vimrcgiúp, quá.

Hoặc, nếu bạn không muốn can thiệp vào tệp cấu hình của gói, thay vào đó (một cái mới)
/etc/vim/vimrc.local


4

Đây là git repo đẹp với hơn 700 màu sắc cho vim

https://github.com/flazz/vim-colorscheme

nhân bản nó để ~/.vim/

git clone https://github.com/flazz/vim-colorschemes ~/.vim/

Xem trước các chương trình trong vim với

:colorscheme mrkn256

(thay thế mrkn256bằng một trong những tên này ls ~/.vim/colors(không có .vimphần mở rộng))

Để đặt nó chỉnh sửa vĩnh viễn ~/.vimrcthêm / thay đổi

colorscheme mrkn256


3

Có thể quá xa chủ đề nhưng ở đây đi

Dành cho Windows 10 WSL (Hệ thống con Windows cho Linux)

điều này làm việc cho tôi (trong .vimrc)

cú pháp trên

sa mạc colorcheme (hoặc bất cứ cách phối màu nào)


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.