Binds and aliases

Say what you want to happen and how you want to set it off — a key, or a word you type in the console. Drop your config in first and it gets added to that.

What should it do?

How do you set it off?

Mouse

Letters

Numbers

Function keys

Modifiers

Editing and arrows

Numpad

Punctuation

If you have never done this before

A bind is a key and a command
bind "F" "use weapon_c4;drop" means: when F is pressed, take out the bomb and drop it. That is the whole idea.
An alias is a word that runs commands
alias "d2" "connect 192.0.2.10:27015" means: type d2 in the console and you join that server. It is the same idea as a bind with a word instead of a key, which is why both are one question here rather than two tools.
Only the last bind on a key counts
Bind the same key twice and the first one quietly stops working. Keys you have already used here are marked, and the config checker finds them in a config you already have.
Try it in the console first
Paste a line straight into the game console and the key works immediately. It lasts until you restart, which makes it a safe way to find out whether you like it before it goes in your config.

What is in the list

24 things worth binding, and nothing we could not stand behind. Jump throw is the one everybody looks for and it is not here: Valve removed the bind from Counter-Strike 2, and listing something that no longer works would be worse than not having it. Anything needing sv_cheats is marked, because it does nothing on a server you do not control.

Every line is checked against what Counter-Strike accepts before you see it, using the same validation the converter runs. A server address or a message that could cut the line short is refused rather than escaped.