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, delete
funktioniert 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, Hello
kann 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 delete
funktioniert 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 delete
Schlüssel dem backspace
im PC.
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öhnlichesvim
konfigurierbares Verhalten ist. Insbesondere ist esvim
diebackspace
Einstellung. 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ältstart
. Und das ist wahrscheinlich in einer globalen Konfigurationsdatei.Beachten Sie, dass der Standard , wenn Sie bringen
vim
invi
-kompatible - Modus ist für diebackspace
Variable die leere Zeichenkette zu sein. Das Verhalten, über das Sie sich beschweren, ist tatsächlich das Verhalten des Originalsvi
. Linux-Betriebssysteme neigen dazu, die globale Konfigurationsdatei mit allen möglichenvim
Optionen zu füllen, die "freundlichere" Verhaltensweisen aktivieren, die von denen des Originals abweichenvi
. Die BSDs neigen nicht dazu.Weitere Lektüre
:help backspace
. vim Dokumentation.quelle
Ich glaube, dies könnte an der vim-Version liegen, die standardmäßig unter OSX installiert ist. Sie können vim immer über Homebrew installieren und prüfen, ob dieser Ersatz hilfreich ist. Ich habe diese Seite gefunden, die dabei hilft, das OSX-Terminal-Erlebnis zu verbessern. https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/
Beachten Sie diese Zeile 'brew install vim --override-system-vi'
quelle
Überprüfen Sie die
iTerm
Tastenzuordnungen (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.quelle