Как сделать изменение курсора в разных режимах в vim?

Как я могу заставить Vim менять курсор в разных режимах, чтобы эти условия выполнялись:

  1. Без использования gconftool или такие инструменты. Мне нужно, чтобы это влияло только на один экземпляр Vim, а не на весь терминал.
  2. Это должно работать в Gnome Terminal а также GVim,

Я попытался изменить с образцом в help gcr, но это работает только для GVim, а не Vim в терминале Gnome.

Я протестировал http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes, но он изменил курсор для всего терминала.

Играть с gcr является предпочтительным.

Изменить: я знаю, что gcr только для режима GUI, но я имею в виду некоторую функциональность, подобную той, что есть в vim. Может быть, с каким-то плагином...

1 ответ

Вы не сможете изменить его в gnome-terminal, так как он получает настройки курсора с помощью gconf, и vim не может переопределить это.

Тем не менее, это то, что у меня есть в моем файле.vimrc, с использованием gconf, и он работает как задумано, т.е. сбрасывает его на то, что было раньше (блок cursor_shape). Вы должны быть в состоянии использовать gcr для установки курсора в gvim независимо.

" for gnome-terminal
au InsertEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape underline"
au InsertLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
au VimLeave * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
au VimEnter * silent execute "!gconftool-2 --type string --set /apps/gnome-terminal/profiles/Default/cursor_shape block"
Другие вопросы по тегам