Wie konfiguriere ich lynx so, dass er ^ erkennt? als Löschen / Rücktaste?

502
Avery Chan

Wenn ich lynx via sshing in eine Debian-Box von MacOS X (Leopard) verwende, erkennt es meinen Standard-Rückschritt ('^?') Nicht als solchen. Ich würde gerne wissen, wie man die Rücktaste auf '^?' für diesen bestimmten Prozess. Ich bin mit diesen Lösungen nicht zufrieden:

1) Einstellen des Terminals zum Senden von ^ H bei Delete und dann 'stty erase ^ H' in meiner Bashrc. Dies bewirkt, dass die Dinge für Luchs funktionieren, aber sie bricht Emacs. Ich bin es gewohnt, mit M-del ein ganzes Wort zu löschen, und mit ^ H bricht dieses Verhalten für mich ab.

2) Luchs neu kompilieren, um zu akzeptieren ^? als "löschen". Das ist es mir nicht wert.

3) Verwenden Sie einen einfacheren Ausdruck wie vt100. Ich verwende xterm-color, weil ich Farben mag.

Ich habe diese http://www.ibb.net/~anne/keyboard.html gelesen, was interessant war, aber die Konfiguration von inputrc hat nicht geholfen.

Vielen Dank

1
Ich bin überrascht von dem von Ihnen beschriebenen Verhalten: Das Senden von Backspace "^?" Ist das Standardverhalten von Debian (es soll also standardmäßig in allen Anwendungen funktionieren) und in meinem Debian (Lenny) -Box sowohl "^?" Als auch "^ h" macht Rückschritt in Luchs, mit "TERM = xterm-color" und entweder "stty erase" ^? "" oder "stty erase" ^ h "". Gilles vor 13 Jahren 0
Hier ist ein Blick auf meine Stty: intr = ^ C; quit = ^ \; löschen = ^ ?; töten = ^ U; eof = ^ D; Eol = M- ^?; Eol2 = M- ^?; swtch =; start = ^ Q; stop = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; Spülung = ^ O; min = 1; Zeit = 0; -paren-parodd cs8 -hupcl -cstopb cread -clocal -crdscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -ncr-isxon -ixoff -iuclcxxlaximaxbel -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe -echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke Avery Chan vor 13 Jahren 0

2 Antworten auf die Frage

0
Jacob

Fügen Sie es in Ihr Anmeldeskript in die Debian-Box ein oder schreiben Sie ein Skript namens lynx, das stty ... ausführt, bevor Sie lynx ausführen.

Dies ist eine Art Lösung, die ich suche, aber wie rufe ich stty im Zusammenhang mit der Ausführung von lynx auf, ohne die stty für die gesamte Sitzung zu ändern? Ich habe versucht, die Änderung von stty in mein Login (.bash_profile) zu übernehmen, aber es hat nicht das gemacht, was ich wollte :( Avery Chan vor 13 Jahren 0
Eigentlich habe ich es versucht und es ist nicht die Lösung, nach der ich suche. Terminal.app ist so eingestellt, dass ^? und Luchs erkennt es nicht. Ich muss also sowohl Terminal UND Stty löschen, aber das will ich nicht. Theoretisch würde ich gerne abbilden ^? in Luchs zu löschen. Also brauche ich einen Weg, dies nur für Luchs zu tun. Avery Chan vor 13 Jahren 0
0
Avery Chan

Jacobs Antwort funktionierte nicht für mich. lynxFür meine Installation wird ^?als \010(Rücktaste) anstelle von \177(Löschen) behandelt. Mit der von Jacob vorgeschlagenen Lösung müsste ich meine Verwendung von Terminal.app noch ändern. Hier ist eine Lösung, die für mich funktioniert hat. Anne Barettas Seite zu Rückschritt und Löschen war äußerst hilfreich: Rückschritt / Löschen der Konfiguration .

一. Installieren Sie Expect, falls es noch nicht installiert ist.

二. Erstellen Sie ein Skript, um lynx (oder eine andere ausführbare Datei) wie folgt zu ersetzen:

 #! / usr / bin / erwarten  eval spawn -noecho / usr / bin / lynx  interagieren \ 177  "\ 033 \ [3 ~"  } 

三. Machen Sie das Skript ausführbar und fertig!