Keiner dieser Schlüssel sind Tilde-Schlüssel. Sie generieren alle eine Folge von mehreren Zeichen, z. B. ESC [24~
für den F12Schlüssel oder ESC [15~
für den F5Schlüssel (obwohl F1 – F4 etwas unterschiedlich sind) oder sogar ESC [5~
für den PgUpSchlüssel.
Der einzige Grund, warum Sie bekommen eine Tilde ist, weil Bash Schlüsselsequenz Parser den gemeinsamen Teil verbraucht, dass sie weiß ( ESC [2
) und stoppt , sobald er weiß, dass die vollständige Sequenz unbekannt sein wird. Alles was folgt (nicht unbedingt eine Tilde!) Wird separat interpretiert.
Beachten Sie, dass sich dieses Verhalten bei Terminal-basierten Programmen unterscheiden kann: Bash (readline) hat einen eigenen Code zum Interpretieren von Sondertasten, Vim hat einen eigenen, Irssi hat wieder einen eigenen Code. Einige Programme erkennen Ihren Tastendruck möglicherweise vollständig als F10 (und ignorieren ihn daher).
Um F10einen tatsächlichen Tilde-Schlüssel global (OS-weit) zu erstellen, suchen Sie nach "Key Remapper" -Tools (möglicherweise AutoHotkey).
Um F10eine Tilde-Taste in allen Terminal-basierten Programmen zu erstellen, durchsuchen Sie die Einstellungen des Terminals. (Das 'Terminal' bezieht sich in diesem Fall auf ConEmu.)
Das Terminal verfügt möglicherweise über eine eigene Funktionalität zum Neudefinieren einzelner Tasten oder zum Erstellen von "Makros". (Die ConEmu- Dokumentation schlägt vor, ein Makro mit der print(…)
Aktion zu definieren.)
So erstellen Sie F10einen Tilde-Schlüssel in Bash (aber nur Bash):
Stellen Sie sicher, dass Ihr Terminalemulator (ConEmu) F10 nicht an eine eigene Funktion gebunden hat. (Normales F10 ist normalerweise an nichts gebunden - Shift + F10 ist jedoch die Standardtaste zum Öffnen des Rechtsklick-Menüs.)
Drücken Sie in der Bash CtrlV(wörtliches Einfügen) und dann F10 . Sie sehen eine Sequenz wie
^[[21~
.(Die Initiale steht
^[
für ESC, während der Rest nur aus Literalen besteht.)Wenn zu diesem Zeitpunkt der Schlüssel überhaupt keine Sequenz einfügt, wurde er vom Terminal selbst oder einem anderen Programm übernommen - gehen Sie zurück zu Schritt 1.
Öffnen Sie die
~/.inputrc
Datei (oder erstellen Sie sie) in einem Texteditor.Fügen Sie diese Zeile, wobei die Sequenz von Schritt # 2 und Ersetzen
^[
mit\e
:"\e[21~": "~"
Dadurch wird inputrc angewiesen,
~
beim Empfang ein einzufügenESC [21~
.Öffnen Sie die Bash-Shell erneut (oder drücken Sie CtrlX, CtrlRum inputrc neu zu laden).