A three-row vertical buttonhole
I know many of you dislike buttonholes, but I sometimes wonder if it is not because the buttonhole pattern you are using is just not the one that works for you.
This is the one I use. It is simple, elegant and unobtrusive.
Row 1: With right side facing, work in k1, p1 ribbing to the stitch before desired buttonhole position making sure it is a k stitch. Yarnover x2, k2tog, work in rib to end of row
Row 2: Work to the double yarnover of the previous row, knit first loop of the double yarnover and drop the second loop off the needle
Row 3: Work in rib as established to the hold formed by the double yarnover, purl into the centre of the hole, then drop the stitch on needle above the hole, off the needle.
One buttonhole completed.