Thay đổi màu phông chữ cho các bình luận trong vim


95

Tôi muốn thay đổi màu phông chữ mặc định cho các nhận xét từ màu xanh đậm sang màu hơi vàng. Rất khó đọc trên nền đen. Bạn có thể tư vấn cho tôi làm thế nào để thay đổi chỉ một màu này? Tôi hài lòng với các màu khác.

Tôi đang sử dụng xfce4-terminal (không phải gvim với GUI).

Cho đến nay, tôi đã thực hiện các cài đặt trong ~/.profiletệp theo liên kết này như sau

if [ -e /usr/share/terminfo/x/xterm-256color ]; then
        export TERM='xterm-256color'
else
        export TERM='xterm-color'
fi

set t_Co=256

trong ~/.vimrc

cảm ơn bạn


7
Chỉ là một câu hỏi ngu ngốc, bạn đã thử các màu nội sẵn khác nhau chưa? Hãy thử làm ví dụ :colorscheme desert. Hoàn thành tab sẽ hoạt động thường xuyên.
Benoit

Tôi đã thử nó. Nhưng tôi muốn đạt được nhiều tùy chỉnh hơn. Nếu không ai biết câu trả lời này, tôi sẽ chấp nhận của bạn là giải pháp tốt nhất, bởi vì bạn đã trả lời trước khi tôi đưa ra câu hỏi cụ thể hơn theo những gì tôi muốn đạt được.
xralf

Bạn không thể gán lại bảng màu của thiết bị đầu cuối? Thiết bị đầu cuối không có bất kỳ cài đặt nào?
Benoit

@Benoit Xem bản sửa đổi tiếp theo của câu hỏi.
xralf

Câu trả lời:


57
:hi Comment guifg=#ABCDEF

Chọn màu của bạn! Nếu sử dụng một thiết bị đầu cuối màu, thay thế guifg=#ABCDEFvới ctermfg=Nvới N là một số màu sắc.

Cũng gõ :help :hiđể biết thêm thông tin.


2
Cảm ơn bạn. ctermfg hoạt động với các màu như xanh lá cây hoặc vàng. Nhưng nếu tôi cho nó là #ABCDEF hoặc ABCDEF thì nó viết lỗi E421: color name or number not recognized. Nó không nhận dạng các chữ cái trong mã thập lục phân, nó chỉ nhận dạng các số.
xralf

có, guifgtham số dành cho khi bạn sử dụng vim gui (gvim).
Benoit

1
Điều đó có nghĩa là tôi bị hạn chế chỉ có 16 màu? Tôi thêm vào các thiết lập để .vimrcnhưng điều này không làm việcset highlight Comment ctermfg=yellow
xralf

1
Có hơn 16. Xem tại đây . Tôi muốn đạt được rằng nhận xét của tôi có màu vàng nhưng chỉ hơi vàng và mãi mãi. Có thể thiết lập điều này trong .vimrc?
xralf

3
Đây là hai năm quá muộn, nhưng trong trường hợp có ai khác đang muốn có giải pháp cho vấn đề của @Roboprog. Mine đã bỏ qua nó khi tôi đặt dòng hi comment ctermfg=<colour>vào .vimrctập tin, nhưng tôi làm việc ra đó là vì dòng đi kèm trước khi dòng syntax on, một lần tôi hoán đổi thứ tự, nó làm việc tốt ..
guskenny83

128

Hầu hết các màu sắc hoạt động tốt sẽ tôn trọng backgroundcài đặt:

set background=dark

sẽ thay đổi màu của nhận xét từ xanh lam đậm sang xanh lam nhạt, khi sử dụng bộ màu mặc định.


4
Đây là một giải pháp tuyệt vời. Có thể không phải là câu trả lời tốt nhất cho câu hỏi trên, nhưng đã giải quyết vấn đề "rất khó đọc" một cách hoàn hảo.
GabrieleV

5
Đây phải là mặc định trên Ubuntu. Nhận xét về cơ bản là không thể đọc được khi màu xanh đậm trên nền tím. Cảm ơn. Tôi đã bao gồm cái này trong ~/.vimrchồ sơ của mình . Nếu ai đó muốn kiểm tra điều này trông như thế nào mà không làm điều đó, chỉ cần nhập lệnh trên vào vim sau khi nhấn :phím.
Drew Noakes

1
Đó là điều đầu tiên tìm kiếm trên google xuất hiện. Tuy nhiên, tôi thích các màu mặc định (ngoài nhận xét) hoạt động tốt cả trong cửa sổ đầu cuối tối và khi được dán vào email / tài liệu có nền trắng. Tôi thích một thiết bị đầu cuối tối, tôi có thể nói gì? (hoài cổ / phong tục)
Roboprog

2
thêm dòng 'set background = dark' vào ~ / .vimrc đã thực hiện thủ thuật. mắt tôi đã quá quen với cách phối màu khác, bộ não của tôi cho rằng điều này trông thật xấu xí ... nhưng ít nhất tôi có thể nhìn thấy nhận xét của mình bây giờ. Cảm ơn.
sonjz 10/1213

4
@ 3kstc: bạn có thể thêm nó vào nguyên trạng của mình ~/.vimrc. Bạn cũng có thể xem trước những gì xảy ra trong phiên hiện tại chỉ bằng cách nhập nó vào chế độ lệnh. (Ở chế độ bình thường, nhập :để vào chế độ lệnh.)
n person325681

54
hi Comment ctermfg=LightBlue

Thêm cái này vào .vimrctệp của bạn ~, trong /etc/vimthư mục của bạn hoặc của bạn . Điều này sẽ làm cho nó vĩnh viễn. Tôi chưa thử nghiệm điều này với gvim.

Tôi cũng có set background=lighttrước khi đặt màu bình luận. Tôi thích tất cả các màu mà nó tạo ra ngoại trừ các nhận xét.


1
Từ đâu LightBlueđến?
nn0p

điều này chỉ hoạt động với tôi khi tôi đặt nó ở cuối .vimrc
user3342981

8

Nếu mục tiêu là làm cho nó dễ đọc hơn trong nền dard của bảng điều khiển texto, thì phần kết hợp dưới đây đã chứng minh tôi là một lựa chọn tuyệt vời và dễ hiểu hơn để ghi nhớ:

:colorscheme evening

Nhưng hãy lưu ý, nó sẽ thay đổi màu sắc của nguyên tố khác.


6

Sau khi tìm kiếm một chút, người ta có thể tìm thấy một tài liệu tham khảo phù hợp về vim, đặc biệt là về vấn đề này, tại http://vim.wikia.com/wiki/256_colors_in_vim . Tuy nhiên, một nơi tốt để bắt đầu là thông qua: be: verbose hi khi thực sự bên trong vim và chỉnh sửa tệp. Sau đó, hãy kiểm tra xem tất cả các biến có siêu dữ liệu được liên kết với chúng như thế nào. Dữ liệu được trả về từ đó, giúp bạn dễ dàng thêm các loại công cụ sửa đổi mong muốn vào .vimrc. Ví dụ: đây là các bản cập nhật mà tôi đã thêm gần đây để loại bỏ màu xanh lam đậm và không phải bị dày vò bởi màu xanh lam nhạt, do đó:

    set number background=dark
    syntax on
    highlight Comment    ctermfg=119
    highlight Identifier ctermfg=99AA00


1

Có nhiều cách phối màu khác nhau trong vim. defaultbảng màu hiển thị chú thích bằng màu xanh lam khó đọc trên nền thiết bị đầu cuối màu đen. Tôi thích sử dụng desertbảng màu hiển thị bằng màu có thể đọc được.

Để bật tính năng desertphối màu vim, hãy sử dụng lệnh :color desert. Nếu bạn muốn quay lại để defaultsử dụng lệnh :color default.

Bạn thậm chí có thể cập nhật ~/.vimrcvới bảng màu ưa thích của mình.

echo 'color desert' >> ~/.vimrc

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.