Heat a large pot over medium heat and add butter to melt. Add onion and sauté, stirring frequently, until translucent and beginning to caramelize, about 8 minutes. Add cabbage and stir to coat with butter and onion mixture. Add stock or water, vinegar, and a pinch of salt, stirring to coat. Bring liquid to boil, then reduce heat and simmer, covered, 15-20 minutes, or until cabbage is tender, uncovering for last few minutes of cooking to reduce liquid. Finish with pepper and additional salt, if needed.