Изменение цвета Vim CursorLine в режиме вставки

Есть хороший фрагмент для изменения цвета 9X_gvimrc курсора:

if &term =~ "xterm\\|rxvt"
  " use an orange cursor in insert mode
  let &t_SI = "\]12;orange\x7"
  " use a red cursor otherwise
  let &t_EI = "\]12;red\x7"
  silent !echo -ne "\033]12;red\007"
  " reset cursor when vim exits
  autocmd VimLeave * silent !echo -ne "\033]112\007"
  " use \003]12;gray\007 for gnome-terminal
endif

Как мне изменить это, чтобы вместо 9X_vimrc курсора CursorLine меняла цвет, например, с 9X_gvim темно-синего на синий?

Моя полная конфигурация 9X_colours - https://bitbucket.org/JackLeo/home-configs/src/5b8faf340f87/.vimrc

27
1

  • Мне нравится отображение ключей arror с ком ...
5
Общее количество ответов: 5

Ответ #1

Ответ на вопрос: Изменение цвета Vim CursorLine в режиме вставки

Вы изучили команду "выделить", которая является 9X_vimscript более простым способом контролировать это.

Например, чтобы 9X_viml изменить CursorLine,

:hi CursorLine guifg=red guibg=blue

Ссылка:: выделение справки

Для 9X_colours переключения между режимами.

" Enable CursorLine
set cursorline

" Default Colors for CursorLine
highlight  CursorLine ctermbg=Yellow ctermfg=None

" Change Color when entering Insert Mode
autocmd InsertEnter * highlight  CursorLine ctermbg=Green ctermfg=Red

" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight  CursorLine ctermbg=Yellow ctermfg=None

Я могу смешать 9X_gvimrc цвет termcap с autocmd, но IMO, подсветку 9X_vim легче поддерживать в долгосрочной перспективе 9X_vimrc (и в случае, если gVim используется время 9X_vim от времени)

37
2

  • Чтобы уточнить, для gVim и Neovim с `set termguicolors` вам нуж ...

Ответ #2

Ответ на вопрос: Изменение цвета Vim CursorLine в режиме вставки

Это довольно просто, поместите следующее 9X_gvimrc в свой .vimrc или пользовательский файл colorscheme.

set cursorline
autocmd InsertEnter * highlight CursorLine guifg=white guibg=blue ctermfg=white ctermbg=blue
autocmd InsertLeave * highlight CursorLine guifg=white guibg=darkblue ctermfg=white ctermbg=darkblue

Для получения 9X_colours дополнительной информации см .:

Примечание. Вы 9X_colors можете использовать тот же метод для изменения 9X_colors цвета курсора без всех этих if-операторов 9X_vimrc и escape-последовательностей (и это также 9X_cursor будет работать в GVim).

8
1

  • другие полезные примеры `cterm = bold`, и вы можете отключить что угодно с помощью` NONE`, например У меня нет выделения, когда ...

Ответ #3

Ответ на вопрос: Изменение цвета Vim CursorLine в режиме вставки

При использовании MacVim с 'Lokaltog/vim-powerline' вы можете настроить 9X_vimscript свои обычные / визуальные / вставные цвета 9X_cursor в соответствии с цветом режима Powerline. Мне 9X_viml очень полезно знать, в каком режиме я нахожусь, не 9X_color читая Powerline, особенно на большом экране.

Вот 9X_gvimrc код, который я использую, на основе ответа 9X_color @Zarick-Lau.

В моем файле colors/molokai.vim:

" Visual Mode Orange Background, Black Text
hi Visual          guifg=#000000 guibg=#FD971F

" Default Colors for CursorLine
highlight CursorLine guibg=#3E3D32
highlight Cursor guibg=#A6E22E;

" Change Color when entering Insert Mode
autocmd InsertEnter * highlight  CursorLine guibg=#323D3E
autocmd InsertEnter * highlight  Cursor guibg=#00AAFF;

" Revert Color to default when leaving Insert Mode
autocmd InsertLeave * highlight  CursorLine guibg=#3E3D32
autocmd InsertLeave * highlight  Cursor guibg=#A6E22E;

Вот пример использования 9X_gvim оригинальной цветовой схемы молокаи.

Нормальный

9X_Изменение цвета Vim CursorLine в режиме вставки_colour

Визуальный

9X_Изменение цвета Vim CursorLine в режиме вставки_color

Вставить

9X_Изменение цвета Vim CursorLine в режиме вставки_lines

Я также 9X_lines считаю полезным настроить ОС на визуальное 9X_line выделение с использованием того же цвета. Например, я 9X_gvimrc изменил цвет выделения на Orange в OSX, и когда 9X_cursor я выделяю текст, он становится оранжевым, а 9X_colors не синим, как в VIM.

9X_Изменение цвета Vim CursorLine в режиме вставки_colour

Пример

Здесь оранжевое выделение 9X_colors используется в текстовом поле, когда я пишу 9X_colour эту запись о переполнении стека. Теперь 9X_lines весь текст, который я выделяю в своей ОС, соответствует 9X_colors настройке VIM.

9X_Изменение цвета Vim CursorLine в режиме вставки_colors

4
0

Ответ #4

Ответ на вопрос: Изменение цвета Vim CursorLine в режиме вставки

Я решил переключить CursorLine и Normal в режим вставки. Сначала 9X_vimrc получите значения с помощью :hi Normal и :hi CursorLine. Затем настройте 9X_line следующие строки:

set cursorline
autocmd InsertEnter * highlight Normal ctermbg=7
autocmd InsertEnter * highlight CursorLine ctermbg=15
autocmd InsertLeave * highlight Normal ctermbg=15
autocmd InsertLeave * highlight CursorLine ctermbg=7

Для солнечного света это 9X_colours выглядит так. Мне нравится эффект «фокусировки».

9X_Изменение цвета Vim CursorLine в режиме вставки_viml 9X_Изменение цвета Vim CursorLine в режиме вставки_colours

2
0

Ответ #5

Ответ на вопрос: Изменение цвета Vim CursorLine в режиме вставки

НЕТ ЦВЕТА в текущей строке, даже если вы входите или выходите из РЕЖИМА ВСТАВКИ

"set cursorline
set noshowmode

"Enable CursorLine
set nocursorline

"Default Colors for CursorLine
hi CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE

"Change Color when entering Insert Mode
autocmd InsertEnter * set nocursorline

"Revert Color to default when leaving Insert Mode
autocmd InsertLeave * set nocursorline

9X_gvim

1
0