Почему vim вставляет содержимое ". После выхода из режима вставки

262
pabo

vim делает то, что я не могу понять. Когда я выхожу из режима вставки и перемещаюсь с помощью j / k / h / l в течение секунды, vim добавляет содержимое ".буфера.

По совету из Как запустить vim без выполнения / etc / vimrc? Я запускаю vim с vim -u NONE testfile, что должно означать, что я отключил любую странную конфигурацию, которая у меня может быть.

Вот что я делаю, чтобы показать проблему:

  1. Откройте новый пустой файл с помощью vim -u NONE testfile.

  2. iTEST<esc>, Я только что вставил текст TESTи вышел из режима вставки.

  3. :regпокажет, среди прочего, ". TEST. <enter>закроет просмотр реестра.

  4. A<enter>Now I type this<esc>kи TESTвставляется в конец строки, которую я только что набрал! Мой документ теперь выглядит так:

    TEST Now I type thisTEST

    и :regпоказывает". ^@Now I type thisTEST

Но если бы я пропустил 2 секунды между <esc>и k, дополнительный текст не был бы вставлен. Что здесь происходит?

редактировать: это была проблема экрана GNU. Я разместил свое решение ниже.

1

1 ответ на вопрос

3
pabo

Оказывается, это проблема экрана GNU. См. Https://unix.stackexchange.com/questions/8439/gnu-screen-makes-vim-esc-key-slow.

На экране C-a : maptimeout 0решает это. Я добавлю это к моему .screenrc.

Вменяемость сохранена.