Vim: วิธีเปลี่ยนสีไฮไลต์สำหรับการค้นหาและการเลือก Quickfix


124

ฉันใช้ชุดสีทะเลทรายซึ่งใช้ข้อความสีขาวบนพื้นหลังสีส้มเพื่อเน้นการค้นหา รูปแบบเดียวกันนี้ใช้สำหรับรายการที่เลือกในหน้าต่าง Quickfix

สีขาวบนสีส้มไม่สามารถอ่านได้มากนัก ฉันจะเปลี่ยนสิ่งนั้นใน. vimrc ได้อย่างไร

แก้ไข:ขอบคุณสำหรับการตอบกลับอย่างรวดเร็วสำหรับแผนทะเลทรายตอนนี้ฉันใช้การแก้ไขไฮไลต์การค้นหาต่อไปนี้:

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

สีม่วงตรวจจับด้วยสายตาได้ค่อนข้างง่ายและ IMHO ไม่ได้ใช้สำหรับการระบายสีไวยากรณ์ในรูปแบบทะเลทราย

คำตอบ:


162

ดูที่$VIMRUNTIME/colors/desert.vim. การแมปสีถูกกำหนดไว้ที่นั่นด้วยhi[ghlight]คำสั่ง การเน้นการค้นหาถูกกำหนดเป็น

hi Search guibg=peru guifg=wheat

สำหรับ GUI และ

hi Search cterm=NONE ctermfg=grey ctermbg=blue

สำหรับขั้ว

คุณสามารถแทนที่การตั้งค่านี้ได้.vimrcโดยใช้คำสั่งเดียวกันหลังจากที่คุณเลือกcolorschemeไฟล์. พิมพ์:h hiเพื่อขอความช่วยเหลือ


2
เฮ้! คุณเพิ่งให้คำใบ้อีกครั้ง ฉันเคยใช้: help แทน: h;)
Juve

2
ฉันพบว่าโทนสี Torte สามารถตอบสนองความต้องการของฉันได้เป็นอย่างดี : colorscheme torte
James Mills

13
คุณอาจต้องทำ:set hlsearchหากผลการค้นหาของคุณไม่ถูกไฮไลต์เลย
Jeff Allen

หากต้องการทำสิ่งนี้เพียงครั้งเดียวสำหรับเซสชัน vim ปัจจุบันของคุณและไม่ยังคงมีการเปลี่ยนแปลงอยู่ให้เรียกใช้ในโหมด ex ( :) หน้าhiคำสั่ง::hi Search cterm=NONE ctermfg=grey ctermbg=blue
Nitrodist

ฉันเห็นสิ่งนี้ไฮไลต์อินสแตนซ์ทั้งหมด คุณจะเปลี่ยนไฮไลต์ของอินสแตนซ์ที่คุณใช้เคอร์เซอร์อยู่ได้อย่างไร
Costa

49

สำหรับผมผมต้องยังเพิ่มhlsearchภายใต้syntax onใน~/.vimrc

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

ภายใน VIM คุณยังสามารถทำได้: :highlight Search ctermfg=yellowเพื่อเปลี่ยนได้ทันที

  • ctermfg สำหรับสีพื้นหน้า
  • ctermbg เป็นสีพื้นหลัง

สีที่มีให้จากหน้าเอกสาร viได้แก่ :

*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

ในกรณีของฉันบรรทัดในหน้าต่าง QuickFix แสดงสีเทาที่ไม่สามารถอ่านได้บนสีฟ้าซึ่งแตกต่างจากผลการค้นหาของฉัน (สีดำที่น่าพึงพอใจมากกว่าในลูกพีช) สิ่งนี้ได้รับการยืนยันโดยคำสั่ง

:hi

ซึ่งแสดงการจัดรูปแบบQuickFixLineและSearchตามที่ตั้งค่าเป็น

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

xxxมีรูปแบบตัวอย่างที่ไหน

ฉันต่อท้ายบรรทัดต่อไปนี้ในไฟล์ ~/.vimrc

hi QuickFixLine term=reverse ctermbg=52

และตอนนี้ในหน้าต่างเทอร์มินัลของฉันฉันมีพื้นหลังสีแดงเข้มที่น่าพึงพอใจมากขึ้น การวิ่งhi:แสดงให้เห็นถึงการเพิ่มการเปลี่ยนสีพื้นหลังสำหรับผู้ให้กำเนิดของฉัน:

QuickFixLine   xxx term=reverse ctermbg=52 guibg=Cyan

(เป็นกลุ่ม 8 บน MacOS High Sierra ใน iTerm2 พร้อมธีมโมโลไก)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.