Як виділити поточний рядок і курсор у .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

Це цікаво. Я не знав, що ці послідовності втечі існують. Там же інформація щодо їх використання з Vim тут .

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=..., але використовувати його не варто.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.