The individual class configs only need to be used if you have a bind conflict, as it won't matter what your binds for the Spy are while playing Scout, as long as they don't impede your other controls.
Generally, it's just laziness and not wanting to avoid all the binds in the other class configs.
While strictly not negative, there are some that could imply you aren't playing your best or are playing the wrong class:
Nemesis - Get five revenge kills. - Means that you've had five people dominating you. However, this doesn't mean all at once, so it's not that negative.
Engineer - Death Metal - Pick up 10,000 waste metal from pieces of destroyed buildings. - To get this, a lot of your buildings (or your teammates/enemies buildings) have to be destroyed. Likely, this is because your sentry or dispenser got destroyed, and you're picking up the pieces for metal to build new ones.
Another class of achievements are ones where, to get them, you have to arguably play your class wrong:
Spy - Die Another Way - Kill a Sniper after your backstab breaks his Razorback. - Why are you backstabbing Snipers that have Razorbacks?
Pyro - Plan B - Kill 10 enemies while you're both underwater. - Pyro + Water = Bad
Heavy - Photostroika - Provide an enemy with a freezecam shot of you taunting while invulnerable. - AKA wasting the rest of the Uber.
Medic - Does It Hurt When I Do This? - Kill 50 Scouts with your syringe gun. - There are going to be some times when you're fighting Scouts, but if you're going out of your way to fight enemies, you're doing it wrong.
Medic - Peer Review - Kill 10 Medics with your bone saw. - See above, but add in the fact that you're not even using a distance weapon for this one. At least they cut back on the number of kills for this one.
Any taunting achievements that aren't taunt kill achievements. There is at least one per class.
Best Answer
Yes. You can use the
<classname>.cfg
files, where<classname>
is the name of the class (in all lowercase.)For example, to disguise as a friendly Pyro when you spawn as Spy, you could place this in
spy.cfg
(under<Path to TF2>/tf/cfg/
):which would immediately disguise you when you spawn.
You could also use it for special binds (an automatic "move forward and spin minigun" key for Heavy). Place this in your
heavy.cfg
file:which causes you to spin your minigun and move forward when you press the ] key.
Keep in mind that binds will overwrite any command already assigned to that key, and that they stick around even after the game exits. As Richard suggested in the comments, you can have a
default.cfg
file with all the default binds, and thenexec default
at the top of every class config file.