Как сделать изменение курсора в разных режимах в vim?
Как я могу заставить Vim менять курсор в разных режимах, чтобы эти условия выполнялись:
- Без использования
gconftool
или такие инструменты. Мне нужно, чтобы это влияло только на один экземпляр Vim, а не на весь терминал. - Это должно работать в
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"