Die Löschtaste funktioniert nicht im VIM-Einfügemodus zum Löschen zuvor eingegebener Inhalte

12

Ich habe vim in meinem iterm2 geöffnet. Erstens habe ich etwas im Einfügemodus eingegeben, wie

Hello

Wenn ich den Einfügemodus zu diesem Zeitpunkt nicht beendet habe, deletefunktioniert die Taste und ich kann das ganze Wort löschen, wenn ich möchte.

Wenn ich den Einfügemodus beende und den Einfügemodus erneut öffne, Hellokann dies nicht von entfernt werdendelete Schlüssel . Der neu eingegebene Inhalt kann jedoch entfernt werden.

Ich habe meine .vimrc umbenannt, Problem besteht noch.

In der Shell-Befehlszeile deletefunktioniert mein Schlüssel gut.

Und ich habe einige Tests auf Remote-Servern durchgeführt iterm, bei denen nicht das gleiche Problem aufgetreten ist.

Was könnte die Ursache für dieses Problem sein? Wie man es repariert?


PS: Da ich ein Macbook benutze, entspricht der deleteSchlüssel dem backspaceim PC.

Zen
quelle

Antworten:

17

Fügen Sie dies einfach Ihrer .vimrc hinzu:

set backspace=indent,eol,start
Gawain Lau
quelle
Vielen Dank, dass Sie mir Zeit gespart haben :)
Sreedhar GS
3

Dies hat nichts mit der Shell oder der Version von zu tun vim. Es ist eine einfache Konfigurationssache, da die Operation der Rücktaste im Einfügemodus ein gewöhnliches vimkonfigurierbares Verhalten ist. Insbesondere ist es vimdie backspaceEinstellung. Auf einem Rechner haben Sie (höchstwahrscheinlich) diesen Wert auf die leere Zeichenfolge gesetzt, und auf einem anderen haben Sie ihn so eingestellt, dass er den Wert enthält start. Und das ist wahrscheinlich in einer globalen Konfigurationsdatei.

Beachten Sie, dass der Standard , wenn Sie bringen vimin vi-kompatible - Modus ist für die backspaceVariable die leere Zeichenkette zu sein. Das Verhalten, über das Sie sich beschweren, ist tatsächlich das Verhalten des Originals vi. Linux-Betriebssysteme neigen dazu, die globale Konfigurationsdatei mit allen möglichen vimOptionen zu füllen, die "freundlichere" Verhaltensweisen aktivieren, die von denen des Originals abweichen vi. Die BSDs neigen nicht dazu.

Weitere Lektüre

  • Arnold Robbins, Elbert Hannah und Linda Lamb (2008). "Einfache Bearbeitung". Lernen Sie die vi und Vim Editoren . O'Reilly Media, Inc .. ISBN 9781449313258. p. 14.
  • :help backspace. vim Dokumentation.
  • Fehler # 19903 . 1998. Debian BTS.
JdeBP
quelle
0

Überprüfen Sie die iTermTastenzuordnungen ( Preferences -> Profiles -> Keys). Ich habe die Standardeinstellung für die natürliche Textbearbeitung verwendet, und durch diese Antwort konnte das Problem behoben werden, indem die mit dem Löschen verbundenen Tastenzuordnungen gelöscht wurden.

Rodrirokr
quelle