Skip to content

Instantly share code, notes, and snippets.

@agibsonsw
Created March 7, 2012 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save agibsonsw/1995067 to your computer and use it in GitHub Desktop.
Save agibsonsw/1995067 to your computer and use it in GitHub Desktop.
ST sort tabs
import sublime, sublime_plugin, os
from operator import itemgetter
class SortTabsCommand(sublime_plugin.TextCommand):
def run(self, edit):
file_views = []
win = self.view.window()
curr_view = win.active_view()
for vw in win.views():
head, tail = os.path.split(vw.file_name())
group, _ = win.get_view_index(vw)
file_views.append((tail.lower(), vw, group))
file_views.sort(key = itemgetter(2, 0))
for index, (_, vw, group) in enumerate(file_views):
if not index:
prev_group = group
moving_index = 0
elif group > prev_group:
moving_index = 0
prev_group = group
else:
moving_index += 1
win.set_view_index(vw, group, moving_index)
win.focus_view(curr_view)
@agibsonsw
Copy link
Author

Assign a shortcut key to sort tabs in Sublime Text. Tabs will also be sorted within their groups.

@titoBouzout
Copy link

Any way to convert this to a full package? Then you can receive pull request.

@agibsonsw
Copy link
Author

Do you mean a repo? (I'm fairly new to GitHub - what's a pull request?).

Yes, I'll create a repo, probably this evening. Andy.

@titoBouzout
Copy link

Nice, that way we can add for example "Sort Tabs" to the "tab context menu" and I don't know, option to automatically sort these? etc etc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment