Làm cách nào để làm nổi bật dòng hiện tại và con trỏ trong .vimrc?


14

Tôi đang cố gắng làm nổi bật dòng hiện tại cũng như vị trí con trỏ trong Vim. Đây là .vimrc của tôi:

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

Vấn đề tôi gặp phải là màu nền của dòng hiện tại che lấp màu nền của con trỏ, vì vậy nó trông như thế này:

Dòng hiện tại được tô sáng nhưng con trỏ thì không.

Rõ ràng tôi có thể biết con trỏ ở đâu vì màu nền trước gần như màu đen, nhưng khi con trỏ ở trên một khoảng trắng hoặc ở đầu / cuối của dòng, tôi không biết nó ở đâu trừ khi tôi di chuyển nó.

Con trỏ ở cuối dòng, mặc dù bạn không bao giờ biết nó.

Tôi làm gì sai ở đây?

Câu trả lời:


14

Bạn phải thay đổi màu của dòng con trỏ thành màu khác với màu của con trỏ. Nếu bạn đang ở trong trình giả lập thiết bị đầu cuối như sthoặc rxvt, Vim không thể thay đổi màu của con trỏ; nó sẽ luôn là màu mà ứng dụng đầu cuối của bạn quyết định làm cho nó. Chỉ phiên bản đồ họa của Vim mới có thể thay đổi màu của con trỏ.

Bạn có thể thay đổi màu con trỏ thông qua cấu hình thiết bị đầu cuối của bạn mặc dù.

Một số ~/.Xdefaults/ ~/.Xresourcesví dụ:

XTerm*cursorColor: #FFFFFF
URxvt.cursorColor: white

Bạn cũng có thể sử dụng lệnh Vim :set cursorcolumnđể đặt con trỏ vào dấu thập.


2
vimcó thể thay đổi màu con trỏ, trên các thiết bị đầu cuối như thế xtermcho phép bạn thay đổi nó một cách linh hoạt ( printf '\033]12;#f50\7'ví dụ). Bạn cũng có thể thay đổi nó thành một khối nhấp nháy hoặc gạch chân ( \e[1 qhoặc \e[3 q)
Stéphane Chazelas

Nó thật thú vị. Tôi không biết những lối thoát đó tồn tại. Có thông tin liên quan đến việc sử dụng của họ với vim ở đây .

6

Nếu bạn không muốn nhập lệnh mỗi lần bạn khởi động Vim, bạn phải đặt các lệnh trong .vimrctệp của mình .

whereis vim    
*#type in your linux terminal* 

(bạn sẽ có một vị trí khác, nhưng bảng màu của bạn sẽ ở đây /usr/share/vim/vim74/colors/.

Bạn có thể liệt kê các bảng màu hiện có với

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

thử các cách phối màu khác nhau từ danh sách

:colorscheme desert
:colorscheme delek

Lệnh sau trong Vim kích hoạt một đường thẳng đứng tại vị trí của con trỏ.

set cursorcolumn 
hi CursorColumn ctermbg=8

chuyển đổi (với dấu chấm than, hoạt động với tất cả lệnh set)

set cursorcolumn!

ví dụ:

set cursorline
set cursorline!

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

Đây là bảng có màu xterm: link

Sử dụng một số bằng cách xác định ctermbg=... (... = số màu từ bảng) Bạn cũng có thể thử ctermfg=..., nhưng không đáng để sử dụng nó.

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.