.inputrc-Einstellungen: delete-char und [] Tastenkombinationen funktionieren nicht

2138
tanascius

Ich verwende mingw unter Windows. Wenn ich Ruby (irb) verwende, funktionieren meine Sonderzeichen wie [] {} und \ nicht. Dies liegt an meiner deutschen Tastatur, wo diese Tasten zusammen mit AltGr (Alt + Ctrl) verwendet werden. Ich habe hier oder hier eine Lösung gefunden .

Wenn ich jetzt die Zeile hinzufüge

"\M-[": "[" 

In meiner .inputrc-Datei funktioniert der Löschschlüssel nicht mehr. Es ist wie üblich definiert:

"\e[3~": delete-char 

Durch Drücken von "delete" wird nur zurückgekehrt [3. Mit "Ctrl + v" wird "delete" ^[[3~wie erwartet zurückgegeben.

Irgendwie funktionieren diese beiden Definitionen in .inputrc nicht zusammen. Irgendwelche Ideen?

BEARBEITEN:
Nur die Löschtaste funktioniert nicht. Alle anderen Bindungen funktionieren wie:

"\e[1~": beginning-of-line # home (ok) "\e[2~": paste-from-clipboard # insert (ok) "\e[3~": delete-char # delete (PROBLEM) "\e[4~": end-of-line # end (ok) "\e[5~": history-search-backward # pageup (ok) "\e[6~": history-search-forward # pagedown (ok) 
0

3 Antworten auf die Frage

1
gordy

DEL: delete-char

Sollte für dich arbeiten.

0
Mircea Vutcovici

\ M- [bedeutet META- [was mit ALT- [oder ESC] möglich ist, [\ e [bedeutet ESC [aber das wurde zuvor gerade neu definiert

Aber alles außer der Lösch-Taste funktioniert immer noch - ebenso die Insert-Taste, die "\ e [2 ~": ... "lautet tanascius vor 14 Jahren 0
0
tanascius

Die Lösung bestand darin, ein bedingtes Init-Konstrukt einzuführen :

$if ruby "\M-[": "[" "\M-]": "]" "\M-{": "{" "\M-}": "}" "\M-\\": "\\" "\M-|": "|" "\M-@": "@" "\M-~": "~" $else "\e[1~": beginning-of-line # home "\e[2~": paste-from-clipboard # insert "\e[3~": delete-char # delete "\e[4~": end-of-line # end "\e[5~": history-search-backward # pageup "\e[6~": history-search-forward # pagedown $endif 

Aber die ursprüngliche Frage: Was ist hier noch los :)