2

Смена режимов не должна перемещать текстовый курсор IMO. Любая настройка, чтобы отключить это?

3 ответа3

1
imap <silent> <Esc> <C-O>:stopinsert<CR>

Кажется, работает просто отлично :)

Кроме того, set virtualedit=onemore необходимо установить для лучшего поведения.

Я знаю, что этот вопрос старый, но я полагаю, что это может понравиться нескольким людям.

1

Курсор на самом деле не двигается. В командном режиме (который вы называете escape-режимом) он находится на 3-м (например) символе, а когда вы переходите в режим вставки, он находится за 3-м символом.

Это правда, что он будет двигаться, если в режиме вставки вы перейдете в режим замены (нажмите кнопку "вставить" на клавиатуре) :: тогда он переместится на правый символ вашей текущей позиции (в данном случае 4-й символ ).

1

Я использую vi, vim и теперь gvim уже более десяти лет, и я никогда не замечал этого. Я использую i для вставки и a для добавления, и мой набор текста идет туда, куда я хочу. Это может быть незначительной особенностью интерфейса, которую вы просто перестанете замечать через короткое время.

Вы можете предпочесть настройки, рекомендуемые здесь:

Как заставить вырезать / копировать / вставлять в GVim на Ubuntu работу с Ctrl+X, Ctrl+C, Ctrl+V?

Я знаю, что. Эти настройки на самом деле не решают вашу проблему, но если ваш опыт работы с vim/gvim более знаком, вы можете не заботиться о поведении, связанном с переключением персонажей.

Еще одна альтернатива: вы можете попробовать настройки крема (http://cream.sourceforge.net/features.html). Если вы используете Ubuntu или Debian, есть пакет, который вы можете установить с помощью apt-get/aptitude/synaptic (пакет называется cream).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .