A lot of good advice for winning is IMO connected to the idea that the hardest part of the run is the part you’re in right this moment, so surviving your next encounter, and being as strong as possible for the current depth is a good attitude to have. It doesn’t matter how strong your char will be in the Vaults, if you splat in Lair.
Here’s some more specific things:
1. ID your consumables
When you get a stack of scrolls or potions it’s a good habit to read/quaff-ID them in a safe spot as soon as possible. It’s way more valuable to know which tools you have right now than to have slightly more of them later in the run.
2. Know what scrolls/potions/wands do
Lots of encounters are easily conquered, if you have the right tool, and might be borderline impossible otherwise. Lignification potion is good against different enemies, than enlightenment potion, than scroll of poison. Know your enemies’ weaknesses, know your consumable strengths, don’t be afraid to experiment.
Also use your buffs (might, brilliance, haste, invis, god abilities etc.) early in the fight. Their efficiency is directly proportional to your remaining HP/MP. Using your buffs early lets you not use your escapes later.
3. Don’t be greedy!!!
Your goal should be to die with no useful consumables in your inventory. This is not a metaphor or even an exaggeration really. Most runs will generate more consumables than you need to win, use them freely. If you’re not sure that the upcoming fight is dangerous, then use your buffs just “in case”. Same goes for god abilities, don’t hoard piety, it’s meant to be used.
4. Don’t walk towards enemies
Fight in explored territory and don’t reveal new tiles when fighting, if you can. Use throwing, wands, breaking line of sight, shouting to drag enemies to your position. That way you’ll minimise the chance of being surrounded.
5. Know your enemies
Examine monsters with xv command (or just press v in any targeting interface). Learn what abilities are scary for your char in particular, see how much damage they can do, how fast they act. Take fights accordingly. Sometimes you won’t have the tools to deal with an enemy, so just leave them for later. Some fights are “won” by just running right away, don’t have to kill everything.
Also notice the way monsters spawn. Some are always in packs (bees, yaks, orcs etc.), some are solitary (cyclops, basilisks, water mocassins). Use this info for planning your engagements. If you see one elephant in Lair, there’s at least three more in the fog.
6. Pay attention to noise
Fighting produces noise: hits of your weapon, explosions from spells and evocables, monster shouts etc. Noise is how extra monsters (who were sleeping peacefully) find you and gang up on you. If you’ve just made a bunch of noise fighting, retreat just a bit away into explored territory before resting.
7. Correct your autoexplore
Autoexplore is a very good tool to use, but occasionally it will put you super deep in the middle of mostly unexplored level. It’s a good idea to correct for this - retreat back to the stairs and try autoexplore again. Otherwise there’s a good chance of being surrounded when you start fighting.
8. Set up some macros
Especially when playing casters. Use ~ key to access macros menu, and assign some hot keys. Like put ‘zaf’ on 1, so you can cast your ‘a’ spell with one button press instead of three, or assign ‘ff’ to ‘e’, so you can fire your quiver with one button press as well. It makes you less prone to misclicks and lets you think about important stuff instead. Well set up macros make a huuuuge difference in how enjoyable the game is.