Warum fügt vim den Inhalt von ". Ein, nachdem ich den Einfügemodus verlassen habe

335
pabo

vim tut etwas, was ich nicht ganz herausfinden kann. Wenn ich den Einfügemodus verlasse und innerhalb einer Sekunde mit j / k / h / l navigiere, hängt vim den Inhalt des ".Puffers an.

Ein Tipp von Wie man vim startet, ohne / etc / vimrc auszuführen? Ich beginne vim damit vim -u NONE testfile, was bedeutet, dass ich jede seltsame Konfiguration deaktiviert habe, die ich möglicherweise habe.

So mache ich das Problem:

  1. Öffnen Sie mit eine neue, leere Datei vim -u NONE testfile.

  2. iTEST<esc>. Ich habe gerade den Text eingefügt TESTund den Einfügemodus verlassen.

  3. :regwird unter anderem zeigen ". TEST. <enter>schließt die Registeransicht.

  4. A<enter>Now I type this<esc>kund TESTwird am Ende der Zeile eingefügt, die ich gerade eingegeben habe! Mein Dokument sieht jetzt so aus:

    TEST Now I type thisTEST

    und :regzeigt". ^@Now I type thisTEST

Wenn ich jedoch zwei Sekunden zwischen <esc>und khätte laufen lassen, wäre der zusätzliche Text nicht eingefügt worden. Was ist los?

Bearbeiten: Dies war ein Problem mit dem GNU-Bildschirm. Ich habe meine Lösung unten gepostet.

1

1 Antwort auf die Frage

3
pabo

Es stellt sich heraus, dass dies ein Problem mit dem GNU-Bildschirm ist. Siehe https://unix.stackexchange.com/questions/8439/gnu-screen-makes-vim-esc-key-slow

C-a : maptimeout 0Behebt dies innerhalb des Bildschirms . Ich werde es meinem hinzufügen .screenrc.

Vernunft bewahrt