65

Is there any way to disable Command+W in the terminal?

On several occasions I have accidentally closed a terminal window containing important information when I meant to close a Safari tab and did not realize that the terminal was the active window.

62

To disable W in Terminal, do the following:

  • From the  menu in the top left corner of the screen, select System Preferences. Click on Keyboard then Keyboard Shortcuts then Application Shortcuts. enter image description here

  • Click the + button to add a new shortcut

  • Select "Terminal.app" for the application, and for the command, type Close Window (this is case sensitive). In the shortcut box, give it a different shortcut, like ControlW enter image description here

  • Now W will not close your terminal windows.

  • I mis-spoke in my question. I actually meant to prevent closing a tab, but your answer still works well with the slight change of "Close Window" to "Close Tab". BTW, thanks for the VERY complete answer. – Ralph Mar 19 '12 at 13:05
  • @Daniel: Nice screenshots! May I ask which program you used to take them? Or did you change your desktop background to all-white? – Roy Tinker Mar 19 '12 at 16:16
  • 5
    The program is called "Mac OS X" :-) Command-shift-4, spacebar, click in the window. – Daniel Mar 19 '12 at 16:20
  • 9
    My system is Sierra, and I change the Close Window to the Close, it works for me. Thanks. – bwangel Mar 23 '17 at 14:39
  • Command-ctrl-shift-4, spacebar puts the screenshots in your clipboard so you can paste them. – Andrew M. Farrell Jan 26 '18 at 2:03
26

You can set a prompt before closing in the preferences:

Terminal Preferences → Settings → Shell

enter image description here

  • 1
    Answers crossed paths. This is a good one too. – Daniel Mar 19 '12 at 12:44
  • 4
    I think this is the best solution for this particular use case. Disabling standard shortcuts makes me feel icky and would get frustrating when muscle-memory kicks in when I want to close a terminal tab/window. – ghoppe Mar 19 '12 at 17:58
  • -1: OP asked a very specific question that could easily be modified for various applications. This is a Terminal.app specific answer which does not answer the question. – Max Ried Mar 10 '14 at 20:14
  • 4
    For those using iTerm go to Prefrerences -> Profiles -> Session -> Prompt before closing! Make sure you are on the correct profile (your default one has the star!) images.luo.ma/osx/iterm/… – Shwaydogg Aug 30 '14 at 19:16
13

I tried all of the above, and none worked for me.

What worked was changing the shortcut for the "Close" command.

enter image description here

  • 3
    Same here. "Close" worked for me but "Close Windows" did not. – imagineerThis Oct 31 '13 at 18:42
  • 1
    Ian, it says "iterm" not "TERMINAL" – GummyArgyle Mar 7 '14 at 1:13
  • 2
    @LM126, yep, my example is using iTerm2, so not sure what your on about? – Ian Vaughan Mar 7 '14 at 9:38
  • you can make iterm prompt when you close a session. iterm pref -> profiles -> session: always prompt before closing. this will prevent you from accidentally close session by shot cut. – hihell Aug 16 '18 at 10:37
  • This worked for me on Mojave 10.14.5 - Since the original answer is from 2012, this answer is now more correct. – Willem van Ketwich Jul 25 at 1:42
3

Goto Keyboard System Preferences and select "Keyboard Shortcuts". Then choose Application Shortcuts from the left and click +. Choose "Terminal.app" and enter a menu item that is not that critical. I chose "Bring All to Front". Then click into Keyboard Shortcut and hit CMD+W. Click OK.

Using this technique have have successfully redirected the CMD+W shortcut in Terminal.

3

I propose this:

In iTerm: Open Preferences>Keys At the bottom of "Global Shortcut Keys" click "+", then type Cmd-W and leave the default Action "Ignore".

  • no need to manipulate global settings
  • no need to confirm conscious closing
  • This is the only effective solution for me on Mac OS 10.10 – bitcycle May 26 '15 at 14:47
2

A bit of an old question but in iTerm2 this helped me:

iTerm2Preferenceskeys → Add key mapping: "command + w" => ignore

  • 1
    Better than ignoring the useful command, you can undo the closing of the tab with <kbd>CMD</kbd>+<kbd>Z</kbd>. – b4d Feb 20 '18 at 11:34
0

Also worth mentioning BetterTouchTool (http://www.bettertouchtool.net/)

I wanted to have both W & C both perform Copy (muscle memory, don't ask). The native method only allows you one key per command, with BTT I was able to have both keys mapped to same command, while also avoid the undesired Close WIndow behaviour

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .