[TxMt] Emacs-like Toggle-behavior for cmd-T, Keyboard-driven tab reordering

Jonathan Ragan-Kelley katokop1 at gmail.com
Tue Aug 9 23:00:26 UTC 2005


I appreciate cmd-T as a more flexible replacement for old-school
keyboard buffer switchers like the traditional Emacs c-x b action. 
However, one of the most critical uses of c-x b, in my experience, is
the ability to instantly toggle between the last 2 buffers in the
current window/pane, which cmd-T (and the stationary ordering of the
tabs, as compared to something like the stack ordering of the File
History dropdown in XCode editor panes) cannot accomplish.

I understand that certain special cases of toggling, like switching
between matching, identically-named header and implementation files
can be accomplished with special commands and that toggling can be
achieved by manually reordering tabs in such a way that the desired 2
files are adjacent in the tab list, but this misses the deeper point
that toggling between the last 2 files -- no matter how they were
reached, what their file name relationship is, or where they fall in
the tab list -- is one of the most central and frequently performed
actions at least in my programming experience.  (And it is, of course,
all the more critical without split pane support ;).

It seems to me, however, that this can be addressed quite simply and
elegantly in the context of the current cmd-T system.  All that would
have to happen is that the first item in the list would always default
to the last active tab when the window is first opened.  Given that
the list ordering is dynamic and adaptive, á la Quicksilver, it hardly
seems that this very subtle reordering would present any sort of
usability issue or confusion.  Of course, how this most-recently-used
item might be prioritized in the list after the user starts typing, if
at all, is an open question, but one which need not even be answered a
first version (the behavior can perfectly reasonably be just as it is
now after the first search letter is typed).

The general issue of fast toggling and navigation between files also
brings up a small related thing I've been wanting to see for some
time:

I would love to have the ability to re-order tabs using the keyboard,
alone -- just something akin to select next/previous tab, but which
moved the current tab right/left.

That's it for now.  Back to the code.
-jrk



More information about the textmate mailing list