Trevor Harmon wrote:
In TextMate, buffer tabs are automatic: A new tab is always opened whenever you click on a file in a project drawer. After a half hour of navigating source code, I suddenly find dozens of tabs open at the top of my editor window, but I can only see a few of them. This makes the tabs feature basically unusable.
In contrast, web browser tabs operate quite differently. They're manual instead of automatic: A new tab doesn't open unless you explicitly open one. Until then, new data is displayed in the current tab. TextMate's tab feature would be much more useful to me if it worked this way --- the way web browsers do.
Does anyone prefer the current (automatic) behavior?
Actually, what I *really* prefer is ridiculously complicated. Eclipse has a plugin called Mylyn (formerly Mylar). It's a "task-focused UI"; it keeps track of which files you like to open while working on a certain todo, bug, etc. Then, when you switch tasks, it opens the appropriate set of files in tabs. If you open more than a certain number at once, it starts closing older tabs, I think with an LRU algorithm. (It may even get smart about noticing that you reopened a file it just closed; I forget.) It also highlights the most-accessed files in the file drawer, so it's easier to find the files you'll use most often.
It sounds like way too much cleverness, but it actually works well. Short of that, I don't think I'd want TextMate to start replacing the current file with a different one in the project.
In a web browser, I don't often enter URLs, or choose them from a list; I'm going to them as part of a browsing sequence. I'm rarely working depth-first, or going back and forth between two pages, so the "same tab" default makes sense. Lots of times, I'm following a trail - this page comes up in a search result, and it's not what I want, but it links to another page that has a similar discussion, which references a Wikipedia article with the answer.
In a text editor, I rarely look through a bunch of files by opening them, navigating to the "right file"; I go directly there. So if I open a second file, it means I'm going to want to work with both files.
I think you might find a good UI by following the browser concept - overload a command-click or shift-click or whatever in the project drawer to mean "open in new tab" (or "open in same tab" if you set some preference that reverses the sense, the way Firefox can).
Trevor
textmate mailing list textmate@lists.macromates.com http://lists.macromates.com/listinfo/textmate