So fügen Sie Text in vi unter Debian 9 ein und löschen ihn

So fügen Sie Text in vi unter Debian 9 ein und löschen ihn

Ich habe vi bisher nur unter Debian 8 verwendet und konnte „i“ drücken, um beliebigen Text hinzuzufügen. Sogar Löschen funktionierte einwandfrei. Aber jetzt unter Debian 9 scheint sich das Verhalten von vi anders zu verhalten, da beim Drücken von „i“ nichts passiert.

Wenn Sie unter Debian 8 auf „i“ drücken, erscheint unten „EINFÜGEN“, was bedeutet, dass Sie jetzt mit der Textänderung beginnen können. Unter Debian 9 passiert beim Drücken von „i“ nichts, aber wenn ich zweimal darauf drücke, erscheint ein „i“ und ich kann den restlichen Text eingeben.

Im Moment möchte ich nur den SSH-Port ändern und dazu einfach das Zeichen „#“ löschen und Port 22 durch etwas anderes ersetzen, aber ich kann diese einfache Aufgabe im Moment nicht einmal ausführen.

Gibt es ein Befehls-Tutorial für vi unter Debian 9?

Antwort1

Normalerweise /usr/bin/viist unter Debian 9 ein Symlink zu vimoder vim-tinyin Version 8.0, während es unter Debian 8 ein Symlink zu Version 7.4 war. An den absolut grundlegenden Befehlen wie ioder hat sich absolut nichts geändert x. Sogar im schreibgeschützten Modus (Option -Roder gestartet mit Befehl view) funktionieren die Befehle und geben nur eine Warnung aus, wenn eine schreibgeschützte Datei geändert wird. Sogar der schreckliche „einfache“ Modus (Option -y) erzeugt kein Verhalten wie von Ihnen beschrieben.

Fazit: Dies wird nicht durch den einfachen Wechsel von Debian 8 auf 9 verursacht.

Was zu tun:

  • type viwird Ihnen sagen, was Sie tatsächlich ausführen, zum Beispiel/usr/bin/vi
  • vi --versionsollte Ihnen sagen, was Sie wirklich ausführen
  • Wenn es wirklich einige vioder sind vim, verwenden Sie wirklich seltsame Tastenkombinationen! Testen Sie, ob es lokal oder global ist, indem Sie es als anderer Benutzer versuchen

Update nach dem Lesen des Kommentars des OP:

"Unter Debian 9 passiert beim Drücken des „i“ nichts, aber wenn ich es zweimal drücke, wird ein „i“ angezeigt und ich kann den restlichen Text schreiben.", also ibewirkt das Drücken tatsächlich etwas: Es versetzt Sie wie zuvor in den Einfügemodus. Sie sind nur irritiert, weil in der letzten Zeile nichts angezeigt wird. In dieser Hinsicht sollte es zwischen Debian 8 und 9 auch keine Unterschiede geben.

Zwei mögliche Ursachen für dieses Verhalten:

  • Sie haben festgelegtNoShow-Modusirgendwo in Ihrer ~/.vimrcoder einer anderen Konfigurationsquelle. Geben Sie :set showmodeoder ein :set smdund prüfen Sie, ob das Verhalten Ihrem gewohnten entspricht. Wenn ja, suchen Sie in Ihrer oder der Systemkonfiguration nach set nosmdoder und entfernen Sie es.noshowmodevim
  • Oder das von Ihnen verwendete Gebietsschema ist defekt. Führen Sie dies aus LANG=Cund starten Sie dann vi.

Antwort2

Die Top-Antwort weist auf das Problem hin, aber das Problem besteht insbesondere darin, dass die Standardkonfiguration in dieser Version von Debian die vim.tiny-Konfiguration ist. Wenn Sie die vim.basic-Konfiguration herunterladen und diese stattdessen verwenden, funktioniert es wie erwartet.

apt-get install vim

Überprüfen Sie dann, ob vim.basic ausgewählt ist:

update-alternatives --config vi

Antwort3

Wenn Sie vi/vim installiert haben, vimtutorsollte es auf Ihrem Computer installiert sein. Geben Sie es einfach in die Befehlszeile ein und folgen Sie der Schritt-für-Schritt-Anleitung.

Wenn Sie mit vertraut sind, viversuchen Sie es mit vim, das eine verbesserte Version ist vi, aber im Wesentlichen dieselben Steuerelemente verwendet, und prüfen Sie, ob es wie erwartet funktioniert.

Das Verhalten von i/ esczum Wechseln in den und Verlassen des Bearbeitungsmodus sollte sich mit dem Kernel-Update nicht geändert haben.

verwandte Informationen