binding is attaching a command to a keypress. the command could: change a server var, it could change a client var, it could make you spam and then leave, it could crash your computer and/or the server (i will not talk about crashing servers, that is probably against some policy and just generally an asshole move). the basic command is bind "key" "command(s)"; for simplicitys sake i suggest you keep it to a run command for multiple or long commands
ie: wrong: bind "k" "say lol; say lol; say lol;" right: bind "k" "run lolsfun"; [lolsfun: say lol; say lol; say lol;]that makes everything a bit easier to swap around and rebind, trust me.
get creative: think outside the box, as i said, you can do practically anything with binds and a brain. you can spam, you can write a forkbomb/do-loop you can bhop really easily you can make easily deployable and repeallable patches, perfect for adminning a large custom server community.
ex: addend to config.cfg: exec fix.cfg fix.cfg bind "k" "fix_crap" bind "l" "makesoitworksonotherservers"you get the drift. and remember: bowties are cool