Оказывается, это проблема экрана GNU. См. Https://unix.stackexchange.com/questions/8439/gnu-screen-makes-vim-esc-key-slow.
На экране C-a : maptimeout 0
решает это. Я добавлю это к моему .screenrc
.
Вменяемость сохранена.
vim делает то, что я не могу понять. Когда я выхожу из режима вставки и перемещаюсь с помощью j / k / h / l в течение секунды, vim добавляет содержимое ".
буфера.
По совету из Как запустить vim без выполнения / etc / vimrc? Я запускаю vim с vim -u NONE testfile
, что должно означать, что я отключил любую странную конфигурацию, которая у меня может быть.
Вот что я делаю, чтобы показать проблему:
Откройте новый пустой файл с помощью vim -u NONE testfile
.
iTEST<esc>
, Я только что вставил текст TEST
и вышел из режима вставки.
:reg
покажет, среди прочего, ". TEST
. <enter>
закроет просмотр реестра.
A<enter>Now I type this<esc>k
и TEST
вставляется в конец строки, которую я только что набрал! Мой документ теперь выглядит так:
TEST Now I type thisTEST
и :reg
показывает". ^@Now I type thisTEST
Но если бы я пропустил 2 секунды между <esc>
и k
, дополнительный текст не был бы вставлен. Что здесь происходит?
редактировать: это была проблема экрана GNU. Я разместил свое решение ниже.
Оказывается, это проблема экрана GNU. См. Https://unix.stackexchange.com/questions/8439/gnu-screen-makes-vim-esc-key-slow.
На экране C-a : maptimeout 0
решает это. Я добавлю это к моему .screenrc
.
Вменяемость сохранена.