Не ползите назад при побеге vim без использования <esc>сопоставления - PullRequest
1 голос
/ 20 июня 2020

Ранее я использовал следующее сопоставление vim, чтобы, когда я нажимаю esc, vim не «ползет назад»:

:inoremap <silent> <Esc> <Esc>`^

Однако это имеет довольно неожиданные побочные эффекты (для меня по крайней мере), например, теперь, когда у меня есть <Esc> на левой стороне, клавиши со стрелками больше не будут работать в режиме вставки (и несколько других элементов, которые отправляют escape-последовательности в vim.

Is есть ли лучший способ сделать это или, возможно, настройки в vim, которые изменяют это поведение? В конечном итоге я хочу поведение или <Esc>`^, я просто не хочу, чтобы <esc> отображался в lhs для других причины. Какой подход здесь будет наилучшим?

1 Ответ

0 голосов
/ 20 июня 2020

Нет необходимости переназначать <ESC>. Вы можете попробовать использовать этот autocmd в своем .vimrc:

au InsertLeave * call cursor(getcurpos()[1], getcurpos()[2]+1)

Этот код является повторной реализацией подхода, описанного в Vim wiki , который является более подробным (и, возможно, устарело). Однако команда имеет небольшую задержку.

...