Committing to no flights across a multi-country European trip changes the shape of a holiday for the better, if you plan the connections properly.
The backbone of a no-fly Europe trip is the night train network, which has genuinely revived over the past decade — Nightjet now runs from Vienna to Rome, Paris, and Brussels, ÖBB and SNCF have added new routes, and a sleeper berth means you cover distance while you sleep instead of losing a day to it. Book couchettes or sleeper compartments two to three months out on peak routes; they sell out well before the daytime trains do.
Build your route around a spine of two or three train legs rather than trying to zigzag the whole continent — London to Paris by Eurostar, Paris to Zurich by TGV, Zurich to Venice over the Gotthard, say — and let ferries fill the gaps where rail can't reach, like Barcelona to Genoa or Helsinki to Stockholm. The Rail Planner app and the Man in Seat 61 website are the two resources worth bookmarking before you start booking anything.
Expect the trip to take longer and cost roughly the same as flying once you factor in city-centre stations versus outlying airports, but the payoff is real: you see the landscape change gradient by gradient instead of vanishing under cloud, and you arrive in each city already oriented, having watched it grow from suburbs into a centre through the window.