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/vi
ist unter Debian 9 ein Symlink zu vim
oder vim-tiny
in Version 8.0, während es unter Debian 8 ein Symlink zu Version 7.4 war. An den absolut grundlegenden Befehlen wie i
oder hat sich absolut nichts geändert x
. Sogar im schreibgeschützten Modus (Option -R
oder 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 vi
wird Ihnen sagen, was Sie tatsächlich ausführen, zum Beispiel/usr/bin/vi
vi --version
sollte Ihnen sagen, was Sie wirklich ausführen- Wenn es wirklich einige
vi
oder sindvim
, 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
~/.vimrc
oder einer anderen Konfigurationsquelle. Geben Sie:set showmode
oder ein:set smd
und prüfen Sie, ob das Verhalten Ihrem gewohnten entspricht. Wenn ja, suchen Sie in Ihrer oder der Systemkonfiguration nachset nosmd
oder und entfernen Sie es.noshowmode
vim
- Oder das von Ihnen verwendete Gebietsschema ist defekt. Führen Sie dies aus
LANG=C
und starten Sie dannvi
.
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, vimtutor
sollte 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, vi
versuchen 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
/ esc
zum Wechseln in den und Verlassen des Bearbeitungsmodus sollte sich mit dem Kernel-Update nicht geändert haben.