97

Is there a keyboard short cut, or extension, that lets you rip a tab into a new window in Google Chrome instead of using the mouse?

Hennes
  • 65,142
Stephen
  • 2,424
  • 2
    IMHO: this really should be crtl+shift+u ('undock'), same as in Matlab... all of the solutions are annoying or at minimum dissatisfying – user2305193 Sep 28 '20 at 09:35

10 Answers10

95

With the Vimium extension for Chrome, Shift+W will move the current tab to a new window.

This was added in version 1.43 (2013-05-18), Vimium on GitHub.

Stephen
  • 2,424
37

On Mac you can add custom shortcuts for any menu option. The option to detach a tab is named "Move Tab to New Window" (it has to be written exactly as in the menu, including capitalization of letters), so just add this to the shortcuts under settings (and select Application Google Chrome): enter image description here

And then choose a shortcut, like Cmd+Shift+X or whatever (just make sure it's a unique combination, or it won't work).

lenooh
  • 501
  • 3
    This is excellent. Update for Big Sur, which still works for me: Select 'Shortcuts' menu at top of Keyboard Settings. Select 'App Shortcuts' from left hand menu. Press the '+' button to add an app shortcut. – greg7gkb Mar 31 '21 at 16:52
  • 2
    Works from Hammerspoon too: something like app = hs.application.frontmostApplication() or whatever to select the application, and then app:selectMenuItem("Move Tab to New Window") to simulate clicking on that item (and thus move the tab to a new window). – ShreevatsaR Jul 03 '21 at 01:58
  • The menu title is case sensitive. So you must use the exact casing which as of v117 is Move Tab to New Window – Hady Nov 01 '23 at 21:36
31

A workaround would be: Ctrl + L, + C, + W, + N, + V, and Enter.

Or

F6, Ctrl + C, Ctrl + N, Ctrl + V, Enter and an optional Alt + Tab, Ctrl + W, Alt + Tab, to close the old tab.

You could automate the whole thing with AutoIt (under Windows) and create a Hotkey for it (here, it's Ctrl + Alt + x):

HotKeySet("^!x", "split_tab")
Func split_tab()
    Send("{F6}^c^n")
    Sleep(999)
    Send("^v{Enter}")
    Send("!{Tab}^w!{Tab}")
EndFunc

I always have an additional application like this running in the background, offering useful keyboard shortcuts which automate and simplify tasks.

Alternatively, you can hit Ctrl + L instead of F6, which would be substantially easier as your hand does not have to leave the home row.

rahi
  • 1,387
Samoth
  • 519
  • 5
  • 10
  • 1
    wish this was built in! the disadvantage of this group of commands is it doesn't save your scroll position. – Damon Sep 05 '13 at 20:44
  • Well, that might be possible to preserve with some more code... I ain't got Chrome installed here, so I can't test this any more. But It shouldn't be much of a problem to read and set the vertical scroll bar position. – Samoth Sep 06 '13 at 05:39
  • 1
    Or use Alt + D instead of Ctrl + L as their proximity is higher. – Benjamin Feb 24 '15 at 09:17
  • 3
    Ha, at first I thought this was some fancy incantation, then while following noticed that it's just 'jump to loc bar, copy URL, close tab, open new window, paste URL, and nav'". Clever in its simplicity/straightforwardness/Ruby slippers-ness. ;^) – ruffin Jul 06 '18 at 12:34
  • 1
    -- Here is a Mac/hammerspoon version of the above AutoIt shortcut -- Only downside is it wipes the back history. -- https://superuser.com/questions/182720/keyboard-shortcut-to-pull-google-chrome-tab-into-its-own-window hs.hotkey.bind({"cmd", "ctrl"}, 'x', function() hs.eventtap.keyStroke({"cmd"}, "l") hs.eventtap.keyStroke({"cmd"}, "c") hs.eventtap.keyStroke({"cmd"}, "n") hs.eventtap.keyStroke({"cmd"}, "v") hs.eventtap.keyStroke({},"return") hs.eventtap.keyStroke({"cmd"}, "`") hs.eventtap.keyStroke({"cmd"}, "w") end) – thadk Aug 15 '18 at 20:25
23

Just press Cmd/Ctrl + L and then Shift + Enter. However this refreshes the site and does not close the old tab. Vimiums Shift + W won't refresh the page and closes the old tab.

dnl.re
  • 331
18

No out-of-the-box solution, but here is an open-source chrome extension that does exactly that, Tab to Window/Popup.

4

In more recent versions of Chrome, you can use Shift+F6 to select the tab.

This means you can now use the sequence Shift+F6, Shift+F10, M, Enter, Enter

You can assign this sequence to a single hotkey combination by using tools such as AutoIt, AutoHotkey, or Phrase Express.

The advantage of using this method is that it doesn't reload the tab.

Garrulinae
  • 1,859
  • 1
    If you have the bookmarks bar visible, the first Shift+F6 puts you there -- press Shift+F6 again to select the first tab. – mr.Reband Sep 01 '23 at 14:13
2

The easiest way to do this is to add the Tab To Window Keyboard Shortcut extension. https://chrome.google.com/webstore/detail/tab-to-window-keyboard-sh/adbkphmimfcaeonicpmamfddbbnphikh?hl=en-GB

Personally I use Vimium and had just found the Shift+W and was loving it, since Ctrl+W closes a tab, having Shift+W open it in an new window made sense.

dragon788
  • 1,042
  • 10
  • 16
1

There doesn't appear to be a keyboard short cut built in. Maybe auto-hot-keys can be used, but I'm not familiar with them. I'm also assuming that you already know that dragging the tab out creates the tabs own window.

James Mertz
  • 26,344
  • Ya, I know that dragging does that. I just wanted to see if there was a way to do it without the mouse. – Stephen Aug 31 '10 at 19:13
0

It's criminal that google doesn't provide a hotkey for this after all these years of people asking for it, but you can automate it with the following ahk script bound to winkey+n:

#n::
if (WinActive("ahk_exe chrome.exe"))
{
Send, {SHIFTDOWN}{F6}{F10}{SHIFTUP}m,{enter}{enter}
}
return

Note that shift-F6 only selects the current tab if there isn't a bookmark bar in your window. There's probably a workaround but I've not looked into it.

Al Ro
  • 129
0

If you use voice recognition software Dragon NaturallySpeaking (Windows/Mac, non-free), you can create the voice command:

Sub Main
    SendKeys "^l"
    Wait(0.2)
    SendKeys "^c"
    Wait(0.2)
    SendKeys "^w"
    Wait(0.2)
    SendKeys "^n"
    Wait(0.2)
    SendKeys "^v"
    Wait(0.2)
    SendKeys "{ENTER}"
End Sub

enter image description here

Annoyingly this reloads the page, which is not good in some situations, e.g. if the page contains a form you have started to fill.

Franck Dernoncourt
  • 21,280
  • 51
  • 203
  • 349