Wie kann ich die Rücktaste in VI aktivieren?

8883
Eonil

Ich habe eine reine FreeBSD-Installation. Kein Paket installiert Und das VI akzeptiert keine Rücktaste. (Ich habe die Rücktaste gedrückt, aber es passiert nichts.) Wie kann ich die Rücktaste in VI aktivieren?

Oh, und ich verwende Mac und kontrolliere FreeBSD auf VM oder via Terminal.

4
Was meinst du damit "akzeptiert keine Rücktaste"? Sehen Sie etwas wie "^ H", überhaupt nichts oder was? Eelvex vor 13 Jahren 0

3 Antworten auf die Frage

3
Majenko

Sie könnten dies im Terminal ausprobieren, bevor Sie vi ausführen:

$ stty erase [Ctrl-V] [Backspace] 

Wobei [Strg-V] Strg + V und [Rücktaste] die Rücktaste drückt.

1
user193492

What helped me - in Terminal Preferences - select Advanced tab - check the "Delete sends Ctrl-H"

Hello, and welcome to Super User. Your answer would be far more useful to the asker as well as future visitors if it explained *why and how* this solves the asker’s issue. SU is meant to be a community Q&A site, which works best when answers are canonical for the issue at hand (you might want to read the [answer] guidelines). kopischke vor 11 Jahren 0
-1
Dennis Williamson

Von :h backspace-delete:

Rücktaste und Löschtasten *backspace-delete*


In 3.0 fungierten sowohl die Löschtaste als auch die Rücktaste im Einfügemodus als Rücktaste. Sie löschten das Zeichen links vom Cursor. In 4.0 hat die Löschtaste eine neue Funktion: Sie löscht das Zeichen unter dem Cursor wie in der Befehlszeile. Wenn sich der Cursor hinter dem Ende der Zeile befindet und 'bs' gesetzt ist, werden zwei Zeilen verbunden. |<Del>| |i_<Del>|

In 3.0 wurde der Rücktaste-Schlüssel immer als STRG-H definiert und als STRG-? Gelöscht. In 4.0 wird der Code für die Rücktaste und die Löschtaste von termcap oder termlib abgerufen und um den Wert für "stty erase" unter Unix angepasst. Dies hilft Personen, die das Löschzeichen anhand der Tastatur definieren, an der sie arbeiten. |<BS>| |i_<BS>|

Wenn Sie Backspace bevorzugen und im Einfügemodus löschen möchten, um das alte Verhalten zu erhalten, fügen Sie diese Zeile in Ihre vimrc ein:

 inoremap ^? ^H 

Möglicherweise möchten Sie auch diese hinzufügen, um die Werte für <BS>und festzulegen <Del>:

 set t_kb=^H set t_kD=^? 

(Geben Sie ^ H mit CTRL-V CTRL-H und ^? Mit CTRL-V CTRL-? Oder ein <Del>.)

Wenn der Wert für t_kb korrekt ist, der Wert für t_kD jedoch nicht, verwenden Sie den Befehl ": fixdel". T_kD wird entsprechend dem Wert von t_kb gesetzt. Dies ist nützlich, wenn Sie mehrere verschiedene Terminals verwenden. |:fixdel|

Wenn ^ H nicht als <BS>oder erkannt wird <Del>, wird es als Rücktaste verwendet.

Dies ist für VIM - nicht VI. Die beiden sind in ihren Befehlssätzen sehr unterschiedlich. Majenko vor 13 Jahren 0
(Diese Frage erscheint in den Google-Suchergebnissen für das Problem "Rückschritt funktioniert nicht" in "vim".) Die Anweisungen in dieser Antwort haben bei mir nicht funktioniert. Das Platzieren von "set backspace = 2" in der vim config hat jedoch den Trick geleistet. vadipp vor 12 Jahren 0