68

Is there a way to close all tabs in one go in Sublime Text, but leave the window with the current project open? It is really annoying when I just want to close all open file and start the new task I have to Cmd-W them one by one. If I do Cmd-Opt-W it will close all tabs and the current project.

firedev
  • 20,898
  • 20
  • 64
  • 94
  • 3
    A setting "`close_windows_when_empty": false`" is now available in Sublime Text build 3059 (December 13, 2013): see [my answer below](http://stackoverflow.com/a/20659449/6309) – VonC Jan 21 '14 at 10:24

7 Answers7

105

Thanks to Alex, it turned out kind of simple, Preferences > Key Bindings > User:

{ "keys": ["super+shift+w"], "command": "close_all" }

No need to restart Sublime, it works right away. And what's even better, no need to get used new shortcuts, you can still close Sublime window with Cmd-W after all tabs are gone.

firedev
  • 20,898
  • 20
  • 64
  • 94
  • This is the default in Sublime Text 3 AFAICT. – slhck Jan 21 '14 at 09:37
  • 1
    @slhck - It looks like that's [a bug in build 3059](https://www.sublimetext.com/forum/viewtopic.php?f=3&t=14943&p=56798). Sublime is supposed to close the project window when all the tabs in it are closed. – geerlingguy Feb 11 '14 at 21:24
  • In fact in Sublime Text 3 it is even worse. You close all tabs and then there is another shortcut to close the window. I always reach for the mouse, very annoying. – firedev Feb 13 '14 at 01:45
  • sublime 3's latest build fixes this "bug", so it's the same behaviour as sublime 2 again. shame. – stef Oct 03 '14 at 13:52
  • on linux debian I had to add: { "keys": ["ctrl+shift+w"], "command": "close_window" } – anthony_SelectiveFew May 28 '15 at 14:45
  • improved my sublime productivity today – gprasant Nov 11 '15 at 19:56
46

There's an option in the file menu, but it has no shortcut:

  • File -> Close All Files

Edit - change user settings:

kay, open Preferences -> Key Bindings - User and paste the following between the []:

{ "keys": ["ctrl+alt+shift+w"], "command": "close_all" }

then use Ctrl, Alt, Shift and w to close all tabs.

You'll have to restart Sublime first.

Note: For Sublime Text 3.2.2,Build 3211 you don't need to restart the sublime text to waste your time.Just place code in [ ](as mentioned above),save it and close Key Bindings - User window.Now all opened tabs will be close with out exiting Sublime Text by using Ctrl + Alt + Shift + W .

Atif Iqbal
  • 37
  • 1
  • 1
  • 7
Alex
  • 7,320
  • 1
  • 18
  • 31
  • Unfortunately I can't set a shortcut on it: `{ "keys": ["super+shift+w"], "command": "close_all_files" }` doesn't work. I probably could do it using keyboard prefPane, but since my Sublime config is synced through dropbox, I'd rather did it from within Sublime. – firedev Nov 26 '12 at 09:15
  • 1
    Okay, open Preferences -> Key Bindings - User and paste the following between the []: { "keys": ["ctrl+alt+shift+w"], "command": "close_all" } - then use Ctrl, Alt, Shift and w. You'll have to restart Sublime first – Alex Nov 26 '12 at 09:17
25

Here is what I have set up on Mac Sublime Text 3

1. Go to Sublime Text -> Preferences -> Key Bindings - User
2. Add the following binding:
[
  ... ... ...
  { "keys": ["command+shift+w"], "command": "close_all" }
]
3. Save file

Now, hitting "Command+Shift+W" will close all of your open tabs. Hitting "Command+W" closes current tab only. This is sort of consistent with Mac shortcuts for other app windows.

demisx
  • 7,217
  • 4
  • 45
  • 43
  • Sorry I don't think it works with Sublime 3. It closes all tabs yes, but the window stays open. – firedev Mar 08 '14 at 04:20
  • I thought this was the original intent of the question. To be able to close all tabs, but keep the project window open. Maybe I've misunderstood something. Anyway, this shortcut is really helpful when you have a bazillions of tabs open and you just want them to close all at once. Use it all the time. – demisx Mar 18 '14 at 00:33
  • Yes, but then sometimes you want to close window after that. And in Sublime 3 you got to reach for mouse or use another shortcut. – firedev Mar 18 '14 at 03:56
18

By default, closing all tabs don't close the window, but beware: The last build 3059 (December 13, 2013) of Sublime Text 3 does now include:

Automatically closing windows when the last tab is dragged out

It is managed by this setting:

// Set to true to close windows as soon as the last file is closed, unless
// there's a folder open within the window. This is always enabled on OS X,
// changing it here won't modify the behavior.
"close_windows_when_empty": false,

I just want to close all open file and start the new task

In that same Sublime Text 3 build 3059, you also have the setting:

When the last file is closed, a new transient file is created automatically

Combined with "File -> Close All Files", that can help starting quickly in a new file.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • The problem with Sublime 3 is that you can't close all tabs and then close the window with `Cmd-W`, you have to have a different shortcut for window closing. – firedev Mar 08 '14 at 04:18
  • I don't see how you would not need a separate command? Is it supposed to read your mind to know if this time you want Cmd-W to just close all files and leave the window open or if this time you want to close all files and the window. That's impossible. You can bind Cmd-W to close all files and the window and then bind Cmd-? to close only files. That way you can get both. – o_O Sep 10 '15 at 15:37
  • `On OS X, this value is overridden in the platform specific settings, so you'll need to place this line in your user settings to override it.` – Rockallite Mar 29 '16 at 03:01
8

Go to Preferences>Key Bindings - User> and add following line.

{ "keys": ["super+w"], "command": "close_file" }

Now when you hit cmd+w, only file gonna close not the whole window because you target "close_file".

Usman Ahmed
  • 2,392
  • 1
  • 20
  • 17
8

The Coolest way is : File - > Close All Tabs

Mohammad Heydari
  • 3,933
  • 2
  • 26
  • 33
0

If you are like me, and actually prefer doing right click on a tab and select the Close All Tabs command, you can:

  1. Run the View Package File command in Sublime Text
  2. Select Default/Tab Context.sublime-menu
  3. Add the line:

{ "command": "close_all", "args": { "group": -1, "index": -1 }, "caption": "Close All Tabs" }

  1. Save. Restarting might be required.

Hints:

  • Tested in ST3, but the documentation I got this from was for ST2, so it should be fine
  • Do not forget to add a comma at the end of the line if it is not the last
  • For me it was not possible to edit the Tab Context.sublime-menu file because the folder it is supposed to be in was missing. It that is the case, just create it, for me it was $HOME\AppData\Roaming\Sublime Text 3\Packages\Default\
  • It is also possible to just create/edit the file directly instead of going through the package viewing process