Warum bleibt mein Backspace-Schlüssel beim Löschen ungebunden?

1195
vicg

Alle 5 bis 20 Minuten muss ich erneut eingeben

stty erase ^H 

in der Konsole, weil meine Rücktaste zufällig mit dem Drucken von ^ H beginnt, anstatt Zeichen zu löschen. Dies geschieht in git bash auf einem lenovo T410

Jede Hilfe wäre dankbar, das ist ziemlich ärgerlich

1
Hast du es versucht? "stty erase ^ H backspace" schon? Benthon vor 8 Jahren 0
das hat nicht funktioniert, da darin ein fehler warf. Wenn ich sage, dass ich 'stty erase ^ H' eingebe, meine ich, dass ich tatsächlich die Rücktaste gedrückt habe, um diesen '^ H'-Wert zu generieren, weil alles, was Rücktaste ist, das ist vicg vor 8 Jahren 0
Vermutlich ändert ein Programm, das von OP ausgeführt wird, den Stty-Löschwert. Thomas Dickey vor 8 Jahren 0
Duplikat von [Bash, wie man ^ H und ^ global fixiert? Rückschrittprobleme] (http://superuser.com/questions/641095/bash-how-to-globally-fix-h-and-backspace-problems)? harrymc vor 8 Jahren 0

3 Antworten auf die Frage

1
Steven

Fügen Sie Ihrer ~/.inputrcDatei die folgende Zeile hinzu (und starten Sie das Terminal natürlich neu):

"\e[3~": delete-char 
0

Einige Konsolendienstprogramme interpretieren das Rückschrittzeichen (^ H) nicht als Rückschritt und müssen stattdessen gelöscht werden.

Wenn Sie in diesem Fall die Option "Rücktaste Sende löschen" in der Unterkategorie "Zugeordnete Schlüssel" unter "Emulation" und "Terminal" in den "Sitzungsoptionen" aktivieren, sollte die Taste "Rücktaste" ordnungsgemäß funktionieren, ohne dass die Funktionsweise beeinträchtigt wird Kommando-Shell funktioniert.

0
assylias

Durch Hinzufügen dieser Zeile .bash_profile(oder Ausführen innerhalb des Terminals) wurde das Problem für mich behoben, ohne dass andere Parameter geändert werden mussten:

export TERM=xterm