LINUX.ORG.RU

vim. Сделать курсор _,поменять его цвет, остановить мигание(все по умолчанию)

 , ,


0

1

Чтобы поменять цвет и сделать _ здесь предлагается добавить в vimrc

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


if &term =~ '^xterm\\|rxvt'
  " solid underscore
  let &t_SI .= "\<Esc>[4 q"
  " solid block
  let &t_EI .= "\<Esc>[2 q"
  " 1 or 0 -> blinking block
  " 3 -> blinking underscore
  " Recent versions of xterm (282 or above) also support
  " 5 -> blinking vertical bar
  " 6 -> solid vertical bar
endif

Добавляю. Никакого эффекта. vimrc находится /usr/share/vim

Здесь добавили в файл colorscheme (am.vim) и получилось

Я добавляю в default.vim , путь /usr/share/vim/vim80/colors

Не меняется ничего. И если в vim ввести :colo default то цвет курсора не меняется на gray в любом режиме visual, insert.

То же самое и с задачей прекратить мигание

" Disable all blinking:
:set guicursor+=a:blinkon0
" Remove previous setting:
:set guicursor-=a:blinkon0
" Restore default setting:
:set guicursor&  



Последнее исправление: hibiscusM (всего исправлений: 3)

Возможно ты после этого кода цветовую схему загружаешь и она переопределяет данную настройку. Попробуй в конец .vimrc прописать

P.S. guicursor похоже для графической версии vim'а настройка (gvim)

perl5_guy ★★★★★
()
Последнее исправление: perl5_guy (всего исправлений: 1)
Ответ на: комментарий от perl5_guy

Да в графической версии эта команды для guicursor'a работают, но графическая версия мне не кажется комфортной. Открываю терминал посредством pycharm.

hibiscusM
() автор топика

Эмулятор терминала у тебя какой? Возможно вот это if &term =~ '^xterm\\|rxvt' не матчится. Там бэкслеш не лишний разве? Негде щас проверить. Вообще все работает, если у тебя не слишком древний терминал.

bread
()

Еще у тебя там gray для всех режимов, обрати внимание. Я бы цвет вообще убрал, изменение формы курсора вполне достаточно. Это раньше терминалы не умеои в курсор, приходилось изгаляться с цветами.

bread
()
Ответ на: комментарий от bread

GNOME Terminal 3.28

А в Pycharm IDE какой-то Embedded Local Terminal. Но в любом случае цвет не изменяется и не изменяется курсор в _.

hibiscusM
() автор топика

Если убрать if condition, работает?

Плюс цвет может не менять, если в терминале цвет курсора выставлен.

Ну и проверь

echo $TERM
что возвращает.

StillSteal
()
Последнее исправление: StillSteal (всего исправлений: 1)

Работает.

" Укажите vim что надо использовать 256 цветов, так проще.
set t_Co=256

"EI это нормальный режим
let &t_EI = "\<Esc>[2 q" 

"SI это режим вставки, курсор будет зелёным символом "_"
let &t_SI = "\<Esc>[4 q \<Esc>]12;green\x7" 

"SR это режим замены, курсор будет символом "_", цвет зависит
"от цветовой схемы. У меня dracula, проблем нет.
let &t_SR = "\<Esc>[4 q" 

1 У Вас нет ни xterm, ни rxvt. У мен, кстати, тоже gnome-terminal. Всё работает.

2 guicursor это для gvim, а не для vim.

3 Можете добавить так же для восстановления курсора по умолчанию при выходе из vim:

" reset cursor when vim exits
autocmd VimLeave * silent !echo -ne "\003]12;gray\007"

4 Дело Ваше, но на мой взгляд Вы зря полезли править локальные хомяковые настройки через общесистемные файлы. Лучше бы, наверное, правки вносить через ~/.vimrc. Цветовые схемы — в ~/.vim/colors. Но, повторюсь, дело не моё.

Moisha_Liberman ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.