In Sublime Text 3, how can I have next_view-style tab switching that stays within the active group

keyboard shortcutssublime-text-3

Sublime Text 3 has two modes of switching through tabs, which differ in a couple of ways:

  1. prev/next_view, by default ctrl+[ and ctrl+]. Cycles through documents linearly, across all documents and groups in the current window.
  2. prev/next_view_in_stack, by default ctrl+tab and ctrl+shift+tab. Cycles through documents by stack order, across only those documents in the active group (the one you're currently working in).

I find the first highly desirable because I can actually understand its cycling order, but the fact it cycles across all groups is counter-intuitive to me and regularly trips me up in my work. (I've been using ST3 for months! I'm too used to editors which behave differently.) I want to have something like next_view, but which stays within the current group like next_view_in_stack.

How can I have linear document cycling behaviour like prev/next_view, but which only switches across tabs in the current group? If there's a Sublime Text 3 plugin that does the job, that will be a perfectly good solution.

One thoughtful soul wrote the Sublime Pane Navigation plugin once upon a time which apparently does this, but it was only released for Sublime Text 2 and does not appear to work in Sublime Text 3. (Unless there's something I'm missing).

For a visual example of what I want, suppose I have these documents open:

a screenshot of sublime text with several documents open.

The left group contains the documents um, dois and tres, and the right contains eins and zwei.

Normally next_view will cycle through all five of them in linear order. However, if I'm working in the left group, I want to just cycle linearly through um, dois and tres. If I'm working in the right, I want to cycle back and forth between eins and zwei.

Best Answer

  1. Download the contents of Sublime Page Navigation Plugin and put them in a zipped folder.
  2. Rename the .zip extension to .sublime-package
  3. Paste it in /Packages folder