Von der Hilfe :help i_ctrl-a
:
CTRL-A Insert previously inserted text. {not in Vi}
Angenommen, ich habe einen leeren Puffer und bin im normalen Modus.
Ich tippe i
, um in den Einfügemodus zu wechseln.
Ich tippe ()
, bewege dann den Cursor ein Zeichen nach links, indem <C-h>
ich drücke (was ich <left>
im Einfügemodus zugeordnet habe), tippe foo
und gehe durch Drücken von Escape in den normalen Modus zurück.
Der Puffer enthält: (foo)
Ich dachte fälschlicherweise, dass der zuvor eingefügte Text wäre, (foo)
aber es ist nicht.
Der zuvor eingefügte Text foo
kann nur durch erneutes Tippen :registers .
oder Drücken <C-a>
im Einfügemodus überprüft werden .
Warum wird durch Drücken einer Pfeiltaste der zuvor eingefügte Text zurückgesetzt?
Gibt es eine Möglichkeit, im Punktregister den gesamten Text zu speichern, der beim letzten Aufrufen des Einfügemodus eingefügt wurde, obwohl ich eine Pfeiltaste gedrückt habe?
inoremap <C-h> <C-g>U<Left>
und modifiziertinoremap <C-l> <C-g>U<Right>
und Ihre Lösung funktioniert perfekt! Übrigens, auf meinem Linux-Rechner habe ich die gleiche seltsame Ausgabe wie Sie für den:registers
Befehl, daher kommt er nicht von Windows.