72

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.

67

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.

| improve this answer | |
  • 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
  • 12
    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
30

You can set a prompt before closing in the preferences:

Terminal Preferences → Settings → Shell

enter image description here

| improve this answer | |
  • 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. – bot47 Mar 10 '14 at 20:14
  • 5
    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
16

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

| improve this answer | |
  • 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
  • 3
    @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
  • 1
    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 '19 at 1:42
4

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
| improve this answer | |
  • This is the only effective solution for me on Mac OS 10.10 – bitcycle May 26 '15 at 14:47
2

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.

| improve this answer | |
2

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

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

| improve this answer | |
  • 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

| improve this answer | |
0

For iterm, as @Shwaydogg mention:

For those using iTerm go to Prefrerences -> Profiles -> Session -> Prompt before closing!

| improve this answer | |

You must log in to answer this question.

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