Bind <Cmd-S> in Vim
Solution 1:
Yes you should be able to set up a key mapping in your .vimrc file so that when you press command - S it maps to :w Also here is something else to go on that you can modify as well Map Ctrl-S to save current or new files
- First thing is to reassign the the Command - S functionality for the Application. Do this in the Keyboard > Keyboard Shortcuts System Preference Pane.
For example, you will want to add in a new Application Short cut for the Terminal app, then map to the Menu title "Export Text As..." to another keyboard command something that you don't use, e.g. control - s or etc. should be fine.
Next stop mac terminal from trying to interpret Cmd-s by ... (still working on this I asked a separate question for a solution Allow the Terminal.app to pass command key based keystrokes to terminal programs )
Set up the mapping in the .vimrc file to map the command or meta and s keys to the :write function.
Something such as this noted below* you can add to you .vimrc:
:map <M-s> :w<kEnter> "Works in normal mode, must press Esc first"
:imap <M-s> <Esc>:w<kEnter>i "Works in insert mode, saves and puts back in insert mode"
*This was verified working on the X11 terminal on OS X Lion.
Solution 2:
For people still coming across this, I've written up an inverse of MrDaniel's solution (that is, mapping any MacVim / system-wide ⌘-sequence to command-line vim
), and posted it to his other question. It's more complex than his solution, but then allows you to (with some effort) remap any ⌘-sequence into any command-line program.
It works well for me, and I hope it can help you too. <3