It's been great to see the incremental improvements in TextMate over time. The recent 2.0.17 has a really nice fit and finish all-in and it's still by far my preferred "fully native" text editor - a first choice for development. Little things like the recently shuffled themes menu to support dark/light mode switching are always very welcome and have a surprisingly big "quality of life" impact.
Of course I've a niggle ;-) - I noticed in 2.0.6 (possibly earlier?) that when switching between tabs (currently macOS 11.2.1, but it's done it for a while) TextMate will sometimes shift the view scroll position after a fractional delay. It seems to be related to any lines that aren't of a fixed height; for example, comments in Ruby source code have always word-wrapped even if word wrap is disabled and if there are any of those in a piece of text above the caret position then there's a good chance of scroll position jumps when switching between tabs.
The issue is especially pronounced in larger Markdown docs when I usually edit with word wrap enabled - in that case, the jump can be severe and disorientating as the view can end up somewhere very different from "where you left it", but the caret position is unchanged and might not even be on-screen anymore. As an example, a large README.md file for our application was scrolled with line 656 at the view midpoint with caret placed there, so that line 633 was at the top of the view. I switched to another tab then back again and after a brief delay the view jumped so that line 602 was at the top of the view and line 656 wasn't even visible. This jump doesn't happen with word wrap turned off, but *does* still happen if I've allowed the Textmate configuration to change font sizes on headings.
It just "feels like" there's some kind of scroll position recalculation happening on a thread whenever a tab regains focus, but this calculation isn't accounting for "unusual line heights" due to line wrap or (maybe) font sizes.