Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Following on from my other recent question: How do I map <cmd>-<shift>-f to run Ack plugin in Vim?

Is is possible to use the <cmd> key in Vim at all?

If Vim doesn't recognise the key, is it possible to remap the key outside of Vim (somehow?) to something else and map that key within Vim?

I'm using iTerm 2 on Lion with Vim 7.3.

Thanks!

share|improve this question
up vote 8 down vote accepted

<D-> only works in MacVim.

A quick google will return a bunch of hacks and third party solutions. All the solutions I know either work system-wide or are application-specific: if you remap Cmd in iTerm2 only, how are you going to open a new window or a new tab? With… with… the… MOUSE?

I can't imagine a good reason to remap the Cmd key to anything on a Mac. That would be insane.

Vim is not TextMate or whatever other editor you have used before. There is no way to transfer all your old habits seamlessly, point blank.

Instead of wasting your time trying to make Vim and your terminal into something that it's not and can't be you should learn how to use and customize Vim wisely. All your Cmd+Shift+Ctrl+Alt combos won't lead you anywhere. Especially in a terminal where Alt is often problematic and Cmd unusable.

Consider using <leader> (:help leader):

  • it's portable on every platform
  • it's less prone to conflicts with your OS or terminal emulator
  • it opens a lot of easy to remember possibilities
share|improve this answer
    
Haha, thank you grawity, it's much cleaner now. – romainl Feb 9 '12 at 14:14
    
Thanks for the reply. I had heard of the <leader> but I wasn't sure how it should be used. I agree with your point about portability, this is part of the reason I am moving to Vim. Thanks. – jordelver Feb 10 '12 at 23:39
    
You can remap Cmd to Control in iTerm2, and then in the same window, add shortcuts to open a new tab with ^t, etc. Then everything works! – Sean Clark Hess Feb 19 at 12:04

For simple commands there is a solution via sending the appropriate hex code to the terminal. For instance, I wanted to save in vim by pressing cmd-s. I mapped cmd-s in iterm2 to send the hex code 0x13 which is the code for ctrl-s, then I mapped ctrl-s to :wq in vim.

share|improve this answer
    
How exactly do you do such a thing? Thanks. – nunos Mar 31 '15 at 0:59
    
Did not work for me the 0x13 hex code :/ imgur.com/RjxOoLY – michalzuber Sep 29 '15 at 11:32

The 2016 solution is to use Karabiner open-source program which allows you to remap modifier and other keys with very fine granularity, for example

  • Remap only the left ⌘ Cmd or Option key.
  • Remap a key only for specific applications, e.g. only inside Terminal, Emacs, or virtual machine.

For example, here's how to remap left ⌘ Cmd key to act as Ctrl only inside Terminal (and leave the right one unaffected so that you could still use e.g. ⌘ Cmd + Tab to switch between apps):

karabiner-screenshot

share|improve this answer

You must log in to answer this question.

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