> What still remains is the not working assignment of ^X. > > Henning
Hi, I guess you are using Bash 4.4 because, according to my records, bind -x '"\C-x": ...' after unbinding all the keyseqs causes segfaults in Bash-3.0, 3.1 and 4.0--4.2, infinite loops in Bash 3.2, and error messages like "bash_execute_unix_command: ..." in Bash 4.4. It just works with Bash 4.3 and 5.0+. a. The easiest way is to switch to Bash 5.0 because it also contains several other fixes on key bindings. For example, bind -x '"\C-@": command' doesn't work in Bash 4.4. b. If you want to support older Bash, the second easiest way is to use vi editing-mode using a setting such as "set -o vi" or "bind 'set editing-mode vi'" before unbinding/binding. There are no problems with C-x in the vi-insert keymap. c. If you have to use the emacs editing-mode for some reason, the third option might be something like the following (if you are using UTF-8 encoding): bind -s '"\C-x": "\xC0\x98"' bind -x '"\xC0\x98": shell-command' But there is sometimes a delay to receive C-x with this workaround (I forgot the condition that the delay occurs). [ Note: \xC0\x98 is a 2-byte UTF-8 representation of \C-x (0x18). Usually non-canonical representation of UTF-8 is considered unsecure if you want to filter out some input sequences containing \C-x (0x18) because this non-canonical representation may pass through such filters. But, if you do not filter sequences containing C-x, you can use this workaround. ]. -- Koichi