Vim: Cách thay đổi màu đánh dấu cho các lần truy cập tìm kiếm và lựa chọn tiền tố nhanh


123

Tôi đang sử dụng bảng màu sa mạc, sử dụng văn bản màu trắng trên nền màu cam để làm nổi bật các lần truy cập tìm kiếm. Mẫu tương tự được sử dụng cho mục nhập đã chọn trong cửa sổ Quickfix.

Màu trắng trên màu da cam không dễ đọc. Làm cách nào để thay đổi điều đó trong .vimrc?

Chỉnh sửa: Cảm ơn bạn đã trả lời nhanh, đối với lược đồ sa mạc, tôi hiện đang sử dụng sửa đổi đánh dấu tìm kiếm sau:

highlight Search guibg='Purple' guifg='NONE'

Màu tím khá dễ phát hiện bằng mắt thường và nó không được sử dụng để tô màu theo cú pháp trong lược đồ sa mạc.

Câu trả lời:


162

Nhìn vào $VIMRUNTIME/colors/desert.vim. Ánh xạ màu được xác định ở đó bằng hi[ghlight]lệnh. Đánh dấu tìm kiếm được định nghĩa là

hi Search guibg=peru guifg=wheat

cho GUI và

hi Search cterm=NONE ctermfg=grey ctermbg=blue

cho các thiết bị đầu cuối.

Bạn có thể ghi đè cài đặt này trong .vimrcbằng cách sử dụng cùng một lệnh sau khi bạn chọn colorscheme. Gõ :h hiđể được trợ giúp.


2
Chào! Bạn vừa cho tôi một gợi ý khác. Tôi đã luôn sử dụng: help thay vì: h;)
Juve

2
Tôi đã tìm thấy bảng màu torte để đáp ứng nhu cầu của tôi một cách độc đáo. : colorcheme torte
James Mills

13
Bạn cũng có thể cần :set hlsearchnếu kết quả tìm kiếm của bạn không được đánh dấu.
Jeff Allen

Để thực hiện điều này một lần cho phiên vim hiện tại của bạn và không giữ lại thay đổi, chỉ cần chạy nó trong chế độ cũ ( :) ở phía trước của hilệnh::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist

Tôi có thể thấy điều này làm nổi bật tất cả các trường hợp. Làm cách nào để bạn thay đổi điểm đánh dấu của trường hợp bạn đang trỏ chuột?
Costa

49

Đối với tôi, tôi cũng đã thêm hlsearch dưới syntax ontrong~/.vimrc

set hlsearch
hi Search ctermbg=LightYellow
hi Search ctermfg=Red

Bên trong VIM, bạn cũng có thể làm: :highlight Search ctermfg=yellowthay đổi nó một cách nhanh chóng.

  • ctermfg là màu nền trước
  • ctermbg là màu nền

các màu có sẵn từ trang tài liệu vi là:

*cterm-colors*

NR-16   NR-8    COLOR NAME 
0       0       Black
1       4       DarkBlue
2       2       DarkGreen
3       6       DarkCyan
4       1       DarkRed
5       5       DarkMagenta
6       3       Brown, DarkYellow
7       7       LightGray, LightGrey, Gray, Grey
8       0*      DarkGray, DarkGrey
9       4*      Blue, LightBlue
10      2*      Green, LightGreen
11      6*      Cyan, LightCyan
12      1*      Red, LightRed
13      5*      Magenta, LightMagenta
14      3*      Yellow, LightYellow
15      7*      White

6

Trong trường hợp của tôi, dòng trong cửa sổ QuickFix hiển thị màu xám không đọc được trên màu lục lam, khác với kết quả tìm kiếm của tôi (màu đen dễ chịu hơn trên quả đào) Điều này đã được xác nhận bởi lệnh

:hi

cho thấy định dạng của QuickFixLineSearchnhư được đặt thành

QuickFixLine   xxx term=reverse guibg=Cyan
Search         xxx term=reverse ctermfg=0 ctermbg=222 guifg=#000000 guibg=#FFE792

nơi xxxcó định dạng mẫu,

Tôi đã nối dòng sau vào ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

và bây giờ trong cửa sổ thiết bị đầu cuối của tôi, tôi có một nền màu đỏ sẫm dễ chịu hơn. Running hi:hiển thị việc bổ sung thay đổi màu nền cho ternimal của tôi:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(vim 8 trên MacOS High Sierra trong iTerm2, với chủ đề molokai)

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.