b shows the key bindings. But I can not see, which prefix is left for my own functions. Is any prefix reserved for user bindings?
As stated in the manual:
A small number of keys are reserved for user-defined bindings, and should not be used by modes, so key bindings using those keys are safer in this regard. The reserved key sequences are those consisting of
C-cfollowed by a letter (either upper or lower case), and function keys F5 through F9 without modifiers
In practice, C-S-letter is not officially reserved but I don't remember ever seeing a mode using it.
Additionally, some standard bindings on control-letter combinations tend not to be useful because you can use the arrow keys instead. This gives you
C-e if you have Home and End keys. And all standard bindings only use the modifiers Ctrl, Shift and Meta (
M) (or if there's any standard binding using another modifier, it duplicates another binding because those are the only three modifiers that everyone has), so if there's another modifier on your keyboard and it isn't reserved by your window manager, you can use that.
You can also free Ctrl+H, Ctrl+I, Ctrl+J and Ctrl+[ by using Tab, BackSpace, Return and Escape instead, however those are trickier to use because the function keys are processed as the control-character combinations in Emacs. For example,
TAB is the same thing as
C-i, so if you want to give Ctrl+I its own binding, you have to re-route it to something that is not
C-i. See How to bind C-i as different from TAB?
Unfortunately, Emacs dropped the ball on systematizing key bindings.
If you use Emacs long enough, you're eventually going to acquire enough custom functions that you won't be able to find convenient bindings for them all, and/or won't be able to remember them, unless you do what the Emacs developers should have done a long time ago, which is adhere to a consistent philosophy of how to choose bindings.
In the long run, I think it's too confining to try to stick to Emacs's own keybindings for everything. Of course, I wouldn't change them willy-nilly, but I recommend giving precedence to your own system of bindings, so move whatever bindings Emacs provides that conflict with your own choices.
Constructing your own consistent system for key bindings is a huge amount of work, but I don't think there's a way around it, since the Emacs developers give almost no guidance. Most other editors are no better than Emacs, and often worse, in this regard, even including recent editors like VS Code that are generally much better designed and more powerful than Emacs. (vim is a possible exception.)
I use all of the modifiers (Shift, Control, Alt, Meta, Super, and Hyper) in various combinations, along with multi-key bindings. Also, remember, the modifiers exist as physical hardware keys, as OS constructs, and as Emacs constructs. You can modify the mapping of hardware to OS, and also the mapping of OS to Emacs, which allows a lot of flexibility in choosing the most convenient mappings. You'll almost certainly want to reassign the caps lock key to something useful, and assign left and right option/alt, command/windows modifiers to different Emacs modifiers.
(I'm old enough to remember the ridiculous situation in the old days, of having to constantly peck at the Escape key to invoke Meta, even though most keyboards had more convenient keys that could have been assigned.)
I do not hesitate to remap the functions in packages I use, if they are inconsistent, awkward, thoughtlessly chosen, or simply inconsistent with my own philosophy.
I also think it's wise to bind Emacs functions that have standard keybindings for your OS to be consistent with your those. The common desktop operating systems probably have several dozen to several hundred such standard bindings and they should be remapped in Emacs, freeing up precious resources from your brain. (For instance, search, help invocation, frame cycling, minimization, etc., )