ฉันจะเน้นบรรทัดปัจจุบันและเคอร์เซอร์ใน. vimrc ได้อย่างไร


14

ฉันกำลังพยายามเน้นบรรทัดปัจจุบันรวมถึงตำแหน่งเคอร์เซอร์ใน Vim นี่คือ. vimrc ของฉัน:

set cursorline
hi CursorLine ctermbg=8 ctermfg=15 "8 = dark gray, 15 = white
hi Cursor ctermbg=15 ctermfg=8

ปัญหาที่ฉันพบคือสีพื้นหลังของบรรทัดปัจจุบันครอบคลุมสีพื้นหลังของเคอร์เซอร์ดังนั้นจึงมีลักษณะดังนี้:

บรรทัดปัจจุบันถูกเน้น แต่เคอร์เซอร์ไม่ได้

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

เคอร์เซอร์อยู่ท้ายบรรทัดแม้ว่าคุณจะไม่เคยรู้เลย

ฉันทำอะไรผิดที่นี่

คำตอบ:


14

คุณต้องเปลี่ยนสีของเส้นเคอร์เซอร์เป็นสีอื่นที่ไม่ใช่สีของเคอร์เซอร์ หากคุณอยู่ในเทอร์มินัลอีมูเลเตอร์เช่นstหรือrxvtVim จะไม่สามารถเปลี่ยนสีของเคอร์เซอร์ของคุณได้ มันจะเป็นสีที่แอปพลิเคชั่นเทอร์มินัลของคุณตัดสินใจทำ เฉพาะรุ่น Vim เท่านั้นที่สามารถเปลี่ยนสีเคอร์เซอร์ของคุณได้

คุณสามารถเปลี่ยนสีเคอร์เซอร์ของคุณผ่านการกำหนดค่าเครื่องของคุณ

บาง~/.Xdefaults/ ~/.Xresourcesตัวอย่าง:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

คุณสามารถใช้คำสั่ง Vim :set cursorcolumnเพื่อวางเคอร์เซอร์ของคุณในกากบาท


2
vimสามารถเปลี่ยนสีของเคอร์เซอร์บนเทอร์มินัลเหล่านั้นเช่นxtermที่ช่วยให้คุณสามารถเปลี่ยนสีแบบไดนามิก ( printf '\033]12;#f50\7'ตัวอย่าง) นอกจากนี้คุณยังสามารถเปลี่ยนเป็นบล็อกกะพริบหรือขีดเส้นใต้ ( \e[1 qหรือ\e[3 q)
Stéphane Chazelas

นั่นดูน่าสนใจ. ฉันไม่รู้ว่ามี escape sequences เหล่านั้นอยู่ มีข้อมูลเกี่ยวกับการใช้งานของพวกเขาด้วยที่เป็นกลุ่มเป็นที่นี่

6

หากคุณไม่ต้องการป้อนคำสั่งทุกครั้งที่เริ่ม Vim คุณต้องใส่คำสั่งลงใน.vimrcไฟล์ของคุณ

whereis vim    
*#type in your linux terminal* 

(คุณจะมีสถานที่ที่แตกต่างกัน /usr/share/vim/vim74/colors/แต่โทนสีของคุณจะอยู่ที่นี่

คุณสามารถแสดงรายการชุดสีที่มีอยู่ด้วย

ls /usr/share/vim/vim74/colors/    

ลองชุดรูปแบบสีที่แตกต่างจากรายการ

:colorscheme desert
:colorscheme delek

คำสั่งต่อไปนี้ใน Vim เปิดใช้งานเส้นแนวตั้งที่ตำแหน่งของเคอร์เซอร์

set cursorcolumn 
hi CursorColumn ctermbg=8

เพื่อสลับ (พร้อมเครื่องหมายอัศเจรีย์ทำงานร่วมกับคำสั่ง set ทั้งหมด)

set cursorcolumn!

ตัวอย่างเช่น:

set cursorline
set cursorline!

hi CursorLine ctermbg=235
*#defines a gray colour for the horizontal line*

นี่คือตารางที่มีสี xterm: ลิงค์

ใช้ตัวเลขโดยกำหนดctermbg=... (... = หมายเลขสีจากตาราง) คุณสามารถลองctermfg=...ได้ แต่ก็ไม่คุ้มที่จะใช้

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